2011-06-26 35 views
0

我想要一個AlertDialog,它在頂部顯示一個Listview,在底部顯示一個複選框。這裏是我使用的代碼:複選框不會顯示在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

使用LinearLayout時,請確保按照您的方式設置方向。 LinearLayout的默認方向是水平的,所以我懷疑你的CheckBox在你的ListView的右邊,在屏幕之外,你看不到它。嘗試明確設置方向爲垂直。但是,在CommonsWare建議的XML中使用

0

對於ListView的高度,您不能使用WRAP_CONTENT。請使用0的高度和1的權重。

而且,考慮在XML佈局資源中進行此操作並使其膨脹,而不是從Java代碼中組裝它。