我的應用程序中有一個對話框,當對話框中的按鈕被點擊時,會顯示一個上下文菜單。但我的問題是onContextItemSelected沒有被調用。我的代碼在對話框外的其他按鈕中工作。onContextItemSelected在對話框中沒有被調用
這裏是我的代碼:
dialog = new Dialog(SuperPizzaActivity.this, R.style.DialogSlideAnim);
dialog.setTitle("Select Size and Crust");
dialog.setContentView(R.layout.pizzadialog);
final Button select = (Button) dialog.findViewById(R.id.superpizzadselect);
select.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
menu.setHeaderTitle("Choose One");
menu.add(1, 1, 1, "Add Chicken");
menu.add(2, 2, 2, "Add Pasta");
menu.add(3, 3, 3, "Add Drinks");
menu.add(4, 4, 4, "Continue");
}
});
select.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
openContextMenu(v);
}
});
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
.getMenuInfo();
switch (item.getItemId()) {
case 1:
dialog.dismiss();
Intent i1 = new Intent(SuperPizzaActivity.this,SuperChickenActivity.class);
i1.putExtra(checker, checker);
startActivity(i1);
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
break;
case 2:
dialog.dismiss();
Intent i = new Intent(SuperPizzaActivity.this,SuperPastaActivity.class);
i.putExtra(checker, checker);
startActivity(i);
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
break;
case 3:
dialog.dismiss();
Intent i2 = new Intent(SuperPizzaActivity.this,SuperDrinksActivity.class);
i2.putExtra(checker, checker);
startActivity(i2);
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
break;
case 4:
dialog.dismiss();
Intent i3 = new Intent(SuperPizzaActivity.this,SuperSummaryList.class);
startActivity(i3);
overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
break;
}
return true;
}
任何想法將不勝感激。
看到這可能是有用的四個要求。 http://stackoverflow.com/questions/7976462/how-to-set-onitemclicklistener-in-a-dialog-listview – 2013-02-23 05:21:44