2012-01-19 45 views
0

好吧,我最初的工作是將附件放在我的應用程序上,但首先我需要讓我的對話框按鈕正常工作。幫助,我真的不知道我需要做什麼才能讓我的按鈕功能。「警告」對話框中的按鈕不起作用

Attachment.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View view) { 

        final CharSequence[] items = { "Picture", "Video", "Audio" }; 

        AlertDialog.Builder builder = new AlertDialog.Builder(SMS.this); 
        // Read Update 
        builder.setTitle("Attachment"); 
        builder.setIcon(R.drawable.ic_launcher); 
        builder.setItems(items, new DialogInterface.OnClickListener() { 

         public void onClick(DialogInterface dialog, int which) { 
          // TODO Auto-generated method stub 
          if (items.equals("Picture")) { 
           Intent nextScreen1 = new Intent(
             getApplicationContext(), 
             FirstLoginActivity.class); 
           startActivity(nextScreen1); 
          } 
          if (items.equals("Video")) { 
           Intent nextScreen1 = new Intent(
             getApplicationContext(), 
             FirstLoginActivity.class); 
           startActivity(nextScreen1); 
          } 
          if (items.equals("Audio")) { 
           Intent nextScreen1 = new Intent(
             getApplicationContext(), 
             FirstLoginActivity.class); 
           startActivity(nextScreen1); 
          } 
         } 

        }); 

        builder.create(); // <-- See This! 
        builder.show(); 
       } 

      }); 
     } 

我沒有得到錯誤,但它沒有做任何事情。

+0

你是否從你的按鈕得到任何迴應?意思是如果你在他們的日誌中,他們出現? – JoxTraex

+0

對話框是否正確顯示? – Viking

回答

2

怎麼樣通過這個替換您OnClick()

@Override 
public void onClick(DialogInterface dialog, int which) { 
    switch(which){ 
    case 0: // Picture 
     Intent nextScreen1 = new Intent(
       getApplicationContext(), 
       FirstLoginActivity.class); 
     startActivity(nextScreen1); 
     break; 
    case 1: // Video 
     Intent nextScreen1 = new Intent(
       getApplicationContext(), 
       FirstLoginActivity.class); 
     startActivity(nextScreen1); 
     break; 
    case 2: // Audio 
     Intent nextScreen1 = new Intent(
       getApplicationContext(), 
       FirstLoginActivity.class); 
     startActivity(nextScreen1); 
     break; 
    } 
} 

其實,如果你不想使用上面我的建議,你只需要糾正你if statement這樣的:

變化:(items.equals("Picture")) to (items[which].equals("Picture"))

+0

好眼睛,我幾乎注意不到那個......哈哈:如果日誌被用來檢測這個當然,但是誰記錄的話,那將是相當明顯的?真的* facepalm * – JoxTraex

+0

非常感謝你,你爲我節省了很多時間和壓力哈哈 –