Я зарегистрировал несколько кнопок для контекстного меню
как узнать, какая кнопка была нажата для отображения меню?
ниже приведен псевдокод, который я буду использовать.Мне нужно сделать что-то, связанное с тем, какая кнопка нажата (у меня есть еще несколько кнопок, которые нужно объявить), как я узнаю, что контекстное меню активируется из какой кнопки.
РЕДАКТИРОВАТЬ: я думаю, что я не сделалЯ хотел бы знать, какая кнопка была нажата для отображения меню.Не какой пункт меню нажимается.В любом случае, у меня есть решение, которое я добавлю довольно скоро.
спасибо
private static final int SEND_AS_TEXT = Menu.FIRST;
private static final int SEND_AS_IMAGE = Menu.FIRST + 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sendAllBtn = (Button)findViewById(R.id.sendAllBtn);
sendAllBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
registerForContextMenu(v);
openContextMenu(v);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId()){
case SEND_AS_TEXT:
//do sth related to the button clicked
break;
}
return super.onContextItemSelected(item);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(Menu.NONE, SEND_AS_TEXT, SEND_AS_TEXT, "Send As Text");
menu.add(Menu.NONE, SEND_AS_IMAGE, SEND_AS_IMAGE, "Send As Image");
}