このように試してみてください。ただし、メインのアクティビティクラスに入れてください。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.detail_view_menu, menu);
return true;
}
または、フラグメントでActionBarにアイテムを追加する場合は、少し異なる構成を使用する必要があります。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.detail_view_menu, menu);
}
追加する必要のある追加のパラメーターがあります(MenuInflater)。また、フラグメントでは、onCreateOptionsMenuはブール値を返しません。
setHasOptionsMenu(true)
インフレータができたので、フラグメントのonCreate()
メソッドを呼び出す必要があります。そうしないと、アイテムはアクションバーに表示されません。
メニューのインフレを処理するフラグメントコードは、次のようになります。
public class DetailFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.detail_view_menu, menu);
}
}