我有一个片段想要在活动的容器中显示。问题是该片段的菜单选项没有显示出来。 这里是我添加片段的活动代码:我尝试了 .add 和 .replace 但两者都有同样的结果:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
GridFragment gridFragment = new GridFragment();
getSupportFragmentManager().beginTransaction()
.add(R.id.container, gridFragment, TAG_GRID_FRAGMENT)
.commit();
}
活动的XML文件:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_height="match_parent"
android:layout_width="match_parent"
tools:context="appfactory.app.movies.ui.MainActivity"
app:sharedElementTransitions="true" />
这是片段的onCreate:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
fragment的onCreateOptionsMenu:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
inflater.inflate(R.menu.main_fragment, menu);
super.onCreateOptionsMenu(menu, inflater);
}
碎片的菜单只会在我在主xml中硬编码该碎片时显示出来,这不是我想要的。感谢任何建议。