Я использую Android для приложения. У меня есть деятельность, где я создаю меню опций, как показано нижеОткройте контекстное меню, нажав на опции меню.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mymenu, menu);
return true;
}
меню загружается из файла XML:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="Item1" android:id="@+id/item1" /></menu>
Когда я щелкаю по пункту 1, я использую onOptionsItemSelected на моей деятельности в работа после такого щелчка:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.item1 :
// here, I would like to open a contextual menu
return true;
default :
return super.onOptionsItemSelected(item);
}
}
Итак, когда пользователь нажимает на пункт 1, я хотел бы открыть контекстное меню. Во-первых, я не знаю, можно ли открыть контекстное меню напрямую, не используя позицию удержания на экране, как показано в нескольких учебных пособиях в Интернете.
Если возможно, как я могу открыть контекстное меню таким образом?
Я думал использовать registerForContextMenu()
и openContextMenu()
в случае с моим товаром 1, но в каком представлении должен быть указан параметр?
Если у кого-то есть идея о том, как это сделать, я хотел бы знать, как я должен это делать.
Спасибо за ваш ответ. На самом деле, я начинаю с Android. Поэтому я не очень хорошо знаю, что лучше всего делать. В моей голове было 2 возможности. Во-первых, я создал контекстное меню, но, по-видимому, это не очень хорошая идея для пользователя. Во-вторых, я думал начать новую деятельность, нажав на элемент, в котором я показываю выбор, который я хотел бы предложить пользователям в контекстном меню. Возможно, это лучшая идея. Итак, я думаю, что я собираюсь закодировать вторую идею. – sylsau
Даже собственные приложения Google открывают контекстные меню из элементов меню, поэтому я не думаю, что это правило, что длительные нажатия - это правильный способ его реализации. –
Где находится ответ на «Открыть контекстное меню, нажав на пункт меню пункт»? –