2013-06-11 4 views
0

Я пытаюсь добавить флажки на экран alertdialog. Я раздуваю alertdialog usig, выложенный пользовательский xml. Ниже приведен код. Появится диалоговое окно с предупреждением (нажатие кнопки в моей основной деятельности) со всеми элементами, как я определил в xml. Но я не вижу, чтобы флажки были добавлены в диалоговое окно. Может ли кто-нибудь предложить здесь.добавление флажка в диалоговом окне предупреждения клиента

LayoutInflater factory = LayoutInflater.from(this); 
    final View uploadScreenView = factory.inflate(R.layout.uploadscreen, null); 
    alert = new AlertDialog.Builder(this); 
    alert.setTitle(this.getString(R.string.AlertDialog_Message_ConfirmUpload)); 
    alert.setView(uploadScreenView); 
    String[] itemNames = getResources().getStringArray(R.array.categories_array); 
    CheckBox[] cbs = new CheckBox[itemNames.length]; 
    for (int i = 0; i < itemNames.length; i++) { 
     //cb.add(new CheckBox(uploadQuizView.getContext())); 
     cbs[i] = new CheckBox(uploadScreenView.getContext()); 
     cbs[i].setText(itemNames[i]); 
    } 
    //....alert.setpositive/negative button , show code here 

ответ

0

Вы не привязали свои флажки к своему виду, чтобы они не отображались.

Что вы должны сделать что-то вроде этого:

CheckBox[] cbs = new CheckBox[itemNames.length]; 
for (int i = 0; i < itemNames.length; i++) 
{ 
     cbs[i] = new CheckBox(uploadScreenView.getContext()); 
     cbs[i].setText(itemNames[i]); 
     uploadScreenView.addView(cbs[i]); 
} 

Ключ этого кода является addView метод. Вы можете проверить его documentation и это question.

+0

addView не показывает против uploadScreenView. Я попробовал это, прежде чем публиковать этот вопрос. – user1938357

+0

Тогда, возможно, вам стоит обновить свой вопрос. – Aerilys

0

Обновленный рабочий код ниже. Я изменил uploadScreenView с View на ViewGroup. Ребенок не может быть добавлен в представление без какого-либо родителя (определен макет или группа просмотра)

LayoutInflater factory = LayoutInflater.from(this); 
final ViewGroup uploadScreenView = factory.inflate(R.layout.uploadscreen, null); 
alert = new AlertDialog.Builder(this); 
alert.setTitle(this.getString(R.string.AlertDialog_Message_ConfirmUpload)); 
alert.setView(uploadScreenView); 
String[] itemNames = getResources().getStringArray(R.array.categories_array); 
CheckBox[] cbs = new CheckBox[itemNames.length]; 
for (int i = 0; i < itemNames.length; i++) { 
      cbs[i] = new CheckBox(uploadScreenView.getContext()); 
    cbs[i].setText(itemNames[i]); 
    uploadScreenView .addView(cbs[i]); 
} 
//....alert.setpositive/negative button , show code here 
Смежные вопросы