2012-02-02 77 views
6

我有一個返回CharSequence []的方法,它不是空的(用日誌檢查),但不顯示在對話框中。 我必須初始化boolean []數組; 我沒有看到任何錯誤,所以也許有我想念的東西。 我的代碼是:我無法在Android中使用setMultiChoiceItems對話框顯示列表

dbManager.open(); 
final CharSequence[] usrCats = dbManager.getUserCreatedCategories(); 

dbManager.close(); 
final boolean[] selections = new boolean[usrCats.length]; 

    alert = b.setTitle(R.string.remove_category) 
      .setMessage(R.string.delete_categories_msg) 
      .setMultiChoiceItems(usrCats, selections, new DialogInterface.OnMultiChoiceClickListener(){ 
      public void onClick(DialogInterface dialog, int which, boolean isChecked){ 
      } 
     }) 

      .setPositiveButton("Create", new DialogInterface.OnClickListener(){ 
      public void onClick(DialogInterface dialog, int which){ 
      }  
    }).create(); 
    } 
+1

什麼是錯誤? – JoxTraex 2012-02-02 12:51:37

+0

對話框和按鈕顯示但沒有列表 – 2012-02-02 13:04:23

回答

8

我不知道爲什麼,但setMessagesetMultiChoiceItems不能一起工作。當我刪除setMessage時,列表顯示得很好。

+0

但是爲什麼?你知道嗎? – 2013-03-19 19:07:18

+0

確實奇怪的行爲。幾個小時沒有運氣的調試。這工作就像一個魅力 - 謝謝你。 – IndrekV 2013-04-19 11:30:40

+0

我的猜測是,如果我們傳遞setMessage,它會認爲這個對話框不是一個列表對話框。 – Ankit 2015-09-04 12:29:39

0
Dialog _dialog; 
_dialog = new Dialog(classname.this); 
      _dialog.setTitle("Title"); 
      _dialog.setContentView(R.layout.dialoglist); 
      ListView _output = (ListView) _dialog 
        .findViewById(R.id.dialoglistid); 
      _output.setAdapter(new exmpleadaptor()); 
      // _output.setOnItemClickListener(classname.this); 
      //can use multichoice list option 
      _dialog.show(); 
     }