Подтвердить что ты не робот

Как создать контекстное меню с помощью XML файла?

Я использую XML файл для создания контекстного меню для своего ListView. (См. Ниже). Я также хочу установить заголовок для этого контекстного меню. Я прочитал (http://www.mail-archive.com/[email protected]/msg43062.html), что я могу использовать menu.setHeaderTitle(myContextMenuTitle) в методе onCreateContextMenu. Но мне нужно установить это в файле XML. Как я могу это сделать?

Ниже приведен код для метода onCreateContextMenu, исправьте меня, если я что-то делаю неправильно. Это мой файл context_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/open" android:title="Open"/>
</menu>

Это мой метод onCreateContextMenu:

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.context_menu, menu);
  super.onCreateContextMenu(menu, v, menuInfo);
 }

Это мой метод onCreate:

@Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  //  extras = getIntent().getExtras();

  registerForContextMenu(getListView());

  ...
 }
4b9b3361

Ответ 1

Вы должны сделать это так, как вы сейчас это делаете.

Ответ 2

Вы можете вызвать метод setHeaderTitle("mytitle") в объекте меню. В методе переопределения вы получаете объект меню как параметр метода OnCreateContextMenu. например:

 @Override
 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
   super.onCreateContextMenu(menu, v, menuInfo);
   menu.setHeaderIcon(R.drawable.icon);
   menu.setHeaderTitle("Share Menu.");
   MenuInflater inflater = getMenuInflater();

   inflater.inflate(R.menu.contextmenu, menu);
 }