2012-06-13 53 views
1

我想檢查幾個按鈕的Onclick事件中的一些Spinner控件(如果用戶離開活動),並且如果一個或多個未填寫,顯示與2個選項給用戶一個警告消息:帶列表選項的警報框保持爲空

@Override 
public void onClick(View v) { 

    int i1 = spinner1.getSelectedItemPosition(); 
     (..) 

    if ((i1 == 0) | (i2 == 0) | (i3 == 0) | (i4 == 0) | (i5 == 0)) { 
     AlertDialog.Builder alertbox = new AlertDialog.Builder(this); 
     alertbox.setMessage("Answers missing, what do you want to do?"); 
     final CharSequence[] items = { 
       "Oops.. let me fix that…", 
       "I want to leave the app now" }; 
     alertbox.setTitle("Pick an item"); 
     alertbox.setItems(items, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int item) { 
       if (item == 1) { 
             finish(); 
             // should lead back to the spinner controls on the page 

       }else if (item == 2){ 
        finish(); 
       android.os.Process.killProcess(android.os.Process 
          .myPid()); 
       } 
      } 
     }).create(); 
     alertbox.show(); 

不過,我只是看到一個標題的空箱,但不顯示與setMessage()設置的消息,我沒有得到任何列表項選擇 - 盒子是空的!任何想法我能做些什麼來解決這個問題?

回答

8

我一直有同樣的問題,我發現如果我刪除.setMessage行,那麼列表將出現與標題。不知道爲什麼這是。如果您使用.setpositive按鈕,.negative等,那麼您可以收到一條消息。我還注意到,谷歌的例子都沒有使用與項目列表.setMessage。他們只使用.setTitle,它不會給你太多的空間。
所以,雖然這不會幫助你,如果你想要一個長信息,它會讓你的列表可見,如果這是你的主要目標。

+0

偉大的發現,謝謝!這個功能似乎有一點邏輯上的缺陷,「不容易直觀地掌握」...... 8-) – richey

+0

呃不敢相信這是這種情況! – user291701