1

我試圖顯示一個AlertDialog時,單擊一個操作欄的項目,但沒有任何反應!我是新來的android編程,所以你可以張貼我一些代碼或告訴我如何做到這一點?android:顯示來自操作欄的警告對話框

感謝大家!

利瑪竇

+0

你可以發佈你現有的代碼嗎? –

回答

2

好吧,首先,你必須趕上的onclick事件被點擊右邊的動作欄的項目是什麼時候?

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    if (item.getItemId() == android.R.id.home) //the androi.r.id.home have to changed 
               //for the id of your button. 
    { 
     ///here is where you have to show the alertdialog!!!! 
    } 
} 




public boolean onOptionsItemSelected(MenuItem item) 
{ 
     //This is the layout that you are going to use in your alertdialog 
     final View addView = getLayoutInflater().inflate(R.layout.add, null); 

     new AlertDialog.Builder(this).setTitle("Add a Word").setView(addView) 
       .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int whichButton) { 
         addWord((TextView) addView.findViewById(R.id.title)); 
        } 
       }).setNegativeButton("Cancel", null).show(); 

     return (super.onOptionsItemSelected(item)); 
} 

這裏得到完整的源代碼的形式..

http://vimaltuts.com/android-tutorial-for-beginners/android-action-bar-tab-menu-example

你也可以建立自己的AlertDialgog這樣的:

new AlertDialog.Builder(this) 
    .setTitle("Delete entry") 
    .setMessage("Are you sure you want to delete this entry?") 
    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
     // continue with delete 
     } 
    }) 
    .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 
     // do nothing 
     } 
    }) 
    .setIcon(android.R.drawable.ic_dialog_alert) 
.show(); 
+0

你能標記爲解決方案嗎?謝謝!!!不要猶豫,不管你需要什麼。 –

+0

我剛剛實現它,它的工作!我昨天也做了同樣的事情,但我不知道爲什麼這樣做不起作用! – user3649608

+0

好的,很高興聽到...無論如何,如果我的解決方案很好,也許你可以/應該/必須檢查作爲正確的解決方案,對吧? –

2

顯示你的代碼。舉例如下:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
// Handle action bar actions click 
    switch (item.getItemId()) { 
    case R.id.itemid: 
      new AlertDialog.Builder(this) 
      .setMessage("Message") 
      .setCancelable(false) 
      .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       //code if yes 
      } 
      }) 
      .setNegativeButton("No", null) 
      .show(); 

     return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
}