プロジェクトで ActionBarSherlock を使用していますが、アクション バー内に 1 つ以上の項目を追加する必要がある場合があります。
この BaixadosFragment クラス (SherlockFragment を拡張する) では、次のコードを使用していますが、正常に動作します。
@Override
public void onCreateOptionsMenu(Menu menu,MenuInflater inflater)
{
inflater.inflate(R.menu.main, menu);
super.onCreateOptionsMenu(menu, inflater);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.refresh:
refresh();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
この場合、更新ボタンを追加しています。魔女は main.xml 内で孤独です
しかし、私は CupomDetalheActivity で同じことをしたいのですが (共有ボタンを追加しますが)、魔女は代わりに SherlockFragmentActivity を拡張します。したがって、「onCreateOptionsMenu」は署名が異なるため、オーバーライドできません(以下):
//this is inside SherlockFragmentActivity
public final boolean onCreateOptionsMenu(android.view.Menu menu) {
return true;
}
//this is inside SherlockFragment
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
//Nothing to see here.
}
SherlockFragmentActivity では、インフレータを使用して共有ボタンを含む xml をどこで表示できるかさえわかりません...アイデアや提案を大いに感謝します...
[編集] DroidTの提案によると、これはうまくいきました:
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.share, menu);
super.onCreateOptionsMenu(menu);
return true;
}