复选框未显示在AlertDialog中的ListView下

时间:2011-06-26 19:59:51

标签: android listview checkbox dialog

我希望有一个AlertDialog,它在顶部显示Listview,在底部显示一个复选框。这是我使用的代码:

LinearLayout layout = new LinearLayout(mContext);
                    final ListView lv = new ListView(mContext);               
                    final CheckBox checkbox = new CheckBox(mContext);
                    checkbox.setText("Make this default");
                    lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, ReaderOptions));                                       
                     lv.setLayoutParams( new LinearLayout.LayoutParams(WindowManager.LayoutParams.FILL_PARENT, WindowManager.LayoutParams.WRAP_CONTENT));           
                    lv.setCacheColorHint(Color.TRANSPARENT);
                     layout.addView(lv);
                     layout.addView(checkbox);

问题是复选框没有显示,只显示空格。问题是什么?
感谢。

2 个答案:

答案 0 :(得分:0)

您无法将WRAP_CONTENT用于ListView的高度。使用0的高度和1的权重。

并且,考虑在XML布局资源中执行此操作并对其进行充气,而不是从Java代码中进行组装。

答案 1 :(得分:0)

使用LinearLayout时,请确保按照您的方式设置方向。 LinearLayout的默认方向是水平的,所以我怀疑你的CheckBox位于屏幕外的ListView右侧,在那里你看不到它。尝试明确将方向设置为垂直。但是在CommonsWare建议的XML中用它来做。