ListViewのコンテキストメニューを作成するためにXMLファイルを使用しています。 (下記を参照してください)。このコンテキストメニューのヘッダーも設定したいと思います。 onCreateContextMenuメソッドでmenu.setHeaderTitle(myContextMenuTitle)を使用できることを( http://www.mail-archive.com/[email protected]/msg43062.html )読みました。しかし、これを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());
...
}
あなたは現在それをしている方法でそれをしなければなりません。
、menuオブジェクトで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);
}