我希望有一个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);
问题是复选框没有显示,只显示空格。问题是什么?
感谢。
答案 0 :(得分:0)
您无法将WRAP_CONTENT
用于ListView
的高度。使用0
的高度和1
的权重。
并且,考虑在XML布局资源中执行此操作并对其进行充气,而不是从Java代码中进行组装。
答案 1 :(得分:0)
使用LinearLayout时,请确保按照您的方式设置方向。 LinearLayout的默认方向是水平的,所以我怀疑你的CheckBox位于屏幕外的ListView右侧,在那里你看不到它。尝试明确将方向设置为垂直。但是在CommonsWare建议的XML中用它来做。