Флажок не отображается под ListView в AlertDialog - PullRequest
0 голосов
/ 26 июня 2011

Я хотел бы иметь 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 голосов
/ 27 июня 2011

При использовании LinearLayout убедитесь, что ориентация установлена ​​так, как вы хотите. Ориентация по умолчанию для LinearLayout горизонтальная, поэтому я подозреваю, что ваш CheckBox находится справа от вашего ListView, за пределами экрана, где вы его не видите. Попробуйте явно установить ориентацию по вертикали. Но сделайте это в XML, как рекомендует CommonsWare

0 голосов
/ 27 июня 2011

Вы не можете использовать WRAP_CONTENT для высоты ListView. Используйте рост 0 и вес 1.

И рассмотрите возможность сделать это в ресурсе XML-макета и накачать его, а не собирать его из кода Java.

...