Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“选项”菜单在查看寻呼机android中被清除?_Android_Android Viewpager_Android Optionsmenu - Fatal编程技术网

“选项”菜单在查看寻呼机android中被清除?

“选项”菜单在查看寻呼机android中被清除?,android,android-viewpager,android-optionsmenu,Android,Android Viewpager,Android Optionsmenu,我正在操作栏选项卡、查看寻呼机和嵌套片段中使用选项菜单,当我使用选项卡从片段A切换到片段B时,菜单项工作正常,但当我尝试使用查看寻呼机切换时,选项项在片段中变得不可见 public class RTHomeTabFragment extends Fragment implements TabListener,OnBackButtonPressInterfaceForFragment{ public ActionBarActivity parentActivity;

我正在操作栏选项卡、查看寻呼机和嵌套片段中使用选项菜单,当我使用选项卡从片段A切换到片段B时,菜单项工作正常,但当我尝试使用查看寻呼机切换时,选项项在片段中变得不可见

public class RTHomeTabFragment extends Fragment implements TabListener,OnBackButtonPressInterfaceForFragment{
            public ActionBarActivity parentActivity;
            private ActionBar actionBar;
            ViewPager mViewPager;
            public static int currentPage;



            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                RTMessagingUtils.log(getClass().getName(), "onCreateView");
                View view = inflater.inflate(R.layout.viewpager_tabs, container,false);
                parentActivity = (ActionBarActivity) getActivity();
                actionBar = parentActivity.getSupportActionBar();
                mViewPager = (ViewPager) view.findViewById(R.id.pager);
            /*  actionBar.setDisplayShowTitleEnabled(false);
                actionBar.setDisplayShowHomeEnabled(false);*/
                actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
                actionBar.setCustomView(null);
                actionBar.removeAllTabs();
              List<Fragment> fragments  = getFragments();
                pagerAdapter adapter = new pagerAdapter(getChildFragmentManager(), getFragments());
                mViewPager.setAdapter(adapter);
                currentPage=mViewPager.getCurrentItem();
                Log.d("TestFragments", "currentPage======"+currentPage);
                mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
                    @Override
                    public void onPageSelected(int position) {
                        actionBar.setSelectedNavigationItem(position);
                          currentPage=mViewPager.getCurrentItem();

                            Log.d("TestFragments", "currentPage======"+currentPage);
                    }
                });


                for (int i = 0; i < adapter.getCount(); i++) {
                    actionBar.addTab(actionBar.newTab().setText(adapter.getPageTitle(i)).setTabListener(this));
                }

                return view;
            }

            private List<Fragment> getFragments(){
                List<Fragment> fList = new ArrayList<Fragment>();
        //        add fragments here
                fList.add(new Test1());
                fList.add(new Test2());
                fList.add(new Test3());
                return fList;
            }

            class pagerAdapter extends FragmentPagerAdapter{

                private List<Fragment> fragments;

                public pagerAdapter(FragmentManager fm, List<Fragment> fragments){
                    super(fm);
                    this.fragments = fragments;
                }

                @Override
                public Fragment getItem(int position) {
                    return this.fragments.get(position);
                }

                @Override
                public int getCount() {
                    return this.fragments.size();
                }

                @Override
                public CharSequence getPageTitle(int position) {
                    Locale l = Locale.getDefault();
                    switch (position) {
                    case 0:

                        return getString(R.string.db_jio_chat_chats).toUpperCase(l);

                    case 1:
                        return getString(R.string.db_jio_chat_groups).toUpperCase(l);
                    case 2:
                        return getString(R.string.db_jio_chat_contacts).toUpperCase(l);
                    /*case 3:
                        return getString(R.string.db_jio_chat_my_profile).toUpperCase(l);
                    case 4:
                        return getString(R.string.db_jio_chat_location).toUpperCase(l);
                    case 5:
                        return getString(R.string.db_jio_chat_about).toUpperCase(l);*/
                    }
                    return null;
                }

            }

            @Override
            public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
                // TODO Auto-generated method stub

            }
            @Override
            public void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
        //        setHasOptionsMenu(true);
                super.onCreate(savedInstanceState);
            }
            @Override
            public void onTabSelected(Tab arg0, FragmentTransaction arg1) {
                // TODO Auto-generated method stub
                mViewPager.setCurrentItem(arg0.getPosition());
            }

            @Override
            public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
                // TODO Auto-generated method stub

            }
            @Override
            public void onResume() {
                super.onResume();
                RTMessagingUtils.log(getClass().getName(), "onResume");
            }
            @Override
            public void onPause() {
                super.onPause();
                RTMessagingUtils.log(getClass().getName(), "onPause");

            }




    }
公共类RhometabFragment扩展了片段实现了TabListener、OnBackButtonPressInterfaceForFragment{
公共行动活动;
私人ActionBar ActionBar;
ViewPager mViewPager;
公共静态页面;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
RTMessagingUtils.log(getClass().getName(),“onCreateView”);
视图=充气机。充气(R.layout.viewpager_选项卡,容器,错误);
parentActivity=(ActionBarActivity)getActivity();
actionBar=parentActivity.getSupportActionBar();
mViewPager=(ViewPager)view.findViewById(R.id.pager);
/*actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false)*/
actionBar.setNavigationMode(actionBar.NAVIGATION\u MODE\u选项卡);
actionBar.setCustomView(空);
actionBar.removeAllTabs();
List fragments=getFragments();
pagerAdapter适配器=新的pagerAdapter(getChildFragmentManager(),getFragments());
mViewPager.setAdapter(适配器);
currentPage=mViewPager.getCurrentItem();
Log.d(“TestFragments”,“currentPage===”+currentPage);
mViewPager.setOnPageChangeListener(新的ViewPager.SimpleOnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置){
actionBar.setSelectedNavigationItem(位置);
currentPage=mViewPager.getCurrentItem();
Log.d(“TestFragments”,“currentPage===”+currentPage);
}
});
对于(inti=0;i
在getItem方法中,对测试执行以下操作:

@Override
public Fragment getItem(int position) {
       if(position == 0)           
          return new Test1();
       else 
          return new Test2();
}

看看这是否管用,如果管用的话,我会在后面找到解释…

显示你的Adpeter代码查看页面..谢谢,用Adapter编辑的帖子我也在这里做同样的事情@Override public Fragment getItem(int position){return this.fragments.get(position);}你也可以调用getFragments()两次。