Android 安卓系统-不同的菜单项和表格布局
我的应用程序中有一个Android 安卓系统-不同的菜单项和表格布局,android,menuitem,android-tablayout,Android,Menuitem,Android Tablayout,我的应用程序中有一个TabLayout。我希望每个片段都有自己的菜单项。我怎么能做到?这是我的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setToolbar(); setTabLayout(); } public static class Placehol
TabLayout
。我希望每个片段
都有自己的菜单项
。我怎么能做到?这是我的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setToolbar();
setTabLayout();
}
public static class PlaceholderFragment extends Fragment {
private static final String ARG_SECTION_NUMBER = "section_number";
public PlaceholderFragment() {
}
public static PlaceholderFragment newInstance(int sectionNumber) {
PlaceholderFragment fragment = new PlaceholderFragment();
Bundle args = new Bundle();
args.putInt(ARG_SECTION_NUMBER, sectionNumber);
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = null;
switch(getArguments().getInt(ARG_SECTION_NUMBER)) {
case 1:
rootView = inflater.inflate(R.layout.main_list, container, false);
...
break;
case 2:
rootView = inflater.inflate(R.layout.activity_maps, container, false);
...
break;
}
return rootView;
}
}
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return PlaceholderFragment.newInstance(position + 1);
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0:
return getString(R.string.list);
case 1:
return getString(R.string.map);
}
return null;
}
}
您需要使用
invalidateOptionsMenu()
和onPrepareOptionsMenu()
。您应该阅读文档
仔细看看这一点:
在Android 3.0+上调用invalidateOptions菜单()
将调用onPrepareOptions菜单()
。一个菜单
被传递给该方法,您希望使用该对象对菜单进行更改,无论是添加还是删除菜单项
对于onprepareOptions菜单()
,请记住这一点:
必须返回true才能显示菜单;如果返回false,则不会显示