Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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 SherlockFragmentActivity,拒绝在OnTable中更改选项卡_Android_Android Intent_Actionbarsherlock - Fatal编程技术网

Android SherlockFragmentActivity,拒绝在OnTable中更改选项卡

Android SherlockFragmentActivity,拒绝在OnTable中更改选项卡,android,android-intent,actionbarsherlock,Android,Android Intent,Actionbarsherlock,我有一个选项卡栏,其中1个选项卡在新活动中打开相机。选择此选项卡时,我希望该选项卡选择被拒绝,并且希望先前选择的选项卡保持选中状态 我有一个activeFragment变量,我尝试使用该变量重新选择以前使用getSupportActionBar()选择的选项卡。setSelectedNavigationItem(0)但这不起作用。我试着在选中相机选项卡时不调用ft.commit(),但这也不起作用。如何拒绝选择此选项卡,或者至少立即重新选择以前选择的选项卡 非常感谢 要在onTabSelecte

我有一个选项卡栏,其中1个选项卡在新活动中打开相机。选择此选项卡时,我希望该选项卡选择被拒绝,并且希望先前选择的选项卡保持选中状态

我有一个
activeFragment
变量,我尝试使用该变量重新选择以前使用
getSupportActionBar()选择的选项卡。setSelectedNavigationItem(0)但这不起作用。我试着在选中相机选项卡时不调用
ft.commit()
,但这也不起作用。如何拒绝选择此选项卡,或者至少立即重新选择以前选择的选项卡


非常感谢

要在onTabSelected()中重新选择一个选项卡,当我意识到一个选项卡还不允许被选择时,我发现您可以使用如下方法:

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        boolean bOK = true;
        if (tab.getPosition() == 1) {
            if (!checkReadyToChangeTab()) {
                Toast.makeText(activity, "Cannot change tab!", Toast.LENGTH_SHORT).show();
                bOK = false;
                // reselect tab 0
                final Handler handler = new Handler();
                final Runnable runnable = new Runnable() {
                    public void run() {
                        getSupportActionBar().selectTab(getSupportActionBar().getTabAt(0));
                    }
                };
                handler.postDelayed(runnable, 10);
            }
        }
        if (bOK) {
            ft.replace(R.id.fragment_container, fragment);
        }
    }