我在操作栏上有微调器导航,并为此有一个导航侦听器。 创建活动后,侦听器(如下)将使用默认的微调器项目,这意味着案例0在创建时运行,从而打开了另一个活动。 创建活动后,如何停止注册导航更改?

    ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {
        public boolean onNavigationItemSelected(int itemPosition, long itemId) {
            switch(itemPosition) {
            case 0:

                Intent i = new Intent(Main.this, Example.class);
                startActivity(i);
                break;
            case 1:
                Intent i2 = new Intent(Main.this, Example.class);
                startActivity(i2);
                break;
            case 2:
                Intent i3 = new Intent(Main.this, Example.class);
                startActivity(i3);
                break;
            case 3:
                Intent i4 = new Intent(Main.this, Example.class);
                startActivity(i4);
                break;
            }
        return false;
    }
    };

更新:认为我用这个解决了,我声明了一个布尔标志,将其更改为false oncreate。

ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {
    public boolean onNavigationItemSelected(int itemPosition, long itemId) {
        switch(itemPosition) {
        case 0:
            if(flag == true) {
                if(Main.class == Main.class) {

                } else {
            Intent i = new Intent(Main.this, Main.class);
            startActivity(i);   
                }
            }
            if(flag == false) {
                flag = true;
            }
            break;
        case 1:
            Intent i2 = new Intent(Main.this, Example.class);
            startActivity(i2);
            break;
        case 2:
            Intent i3 = new Intent(Main.this, Example.class);
            startActivity(i3);
            break;
        case 3:
            Intent i4 = new Intent(Main.this, Example.class);
            startActivity(i4);
            break;
        }
        return false;
    }
    };

===============>>#1 票数:0 已采纳

可能有一种更简单的方法,但是您可以在onCreate()中将boolean标志设置为false并在侦听器中进行检查,然后在首次设置后将其设置为true,这样在您运行时就不会运行Intent代码首先运行它。 根据您的需要,您可能需要将其放在onResume()这样,如果您返回此Activity ,它就不会运行

  ask by translate from so

未解决问题?本站智能推荐:

4回复

Android操作栏导航按钮无法在设备上运行

操作栏向上导航按钮 在模拟器中工作正常但在设备中不起作用任何人都可以帮助我 主要活动 WeatherActivity MovieActivity HoroscopeActivity 清单文件 在以上所有活动中的导航按钮 在模拟器中工作正常,但
1回复

Android导航抽屉未填充操作栏空间

我正在开发一个使用侧面导航抽屉的应用程序。 我试图使导航栏幻灯片与操作栏一起移到右侧,然后就完成了。 但是,当操作栏移到右侧时,导航抽屉中的ListView不会填满该空间。 它只是留下一个空白的空白空间。 请帮忙。 下面是我的代码: myActivity.xml: M
2回复

Android操作栏上的导航和按钮

我有一个看起来像这样的动作栏: 我使用以下内容查看单击了哪个按钮: 无论你按什么按钮,(背面或针脚),它都会回到上一个屏幕,我不知道为什么。 有关为什么会发生这种情况的任何建议?
2回复

Android导航菜单涵盖了操作栏

我有一个包含操作栏,导航菜单和主要内容的xml布局。 操作栏包含一个搜索区域和一个用于切换导航菜单的按钮。 这是应用程序的外观 当我显示菜单时,它覆盖了我的操作栏 我尝试将其添加到导航抽屉 但这没用
8回复

更改操作栏android上的导航抽屉图标

我使用ActionBar在我的应用程序中创建了一个NavigationDrawer。 如上图所示,我想将NavigationDrawer切换按钮图标更改为我想要的内容。 我该怎么改变它? 这是我的代码: - 如果我尝试将其更改为R.drawable.hamburger_b
1回复

在Android操作栏中自定义导航标签

我有一个我正在使用默认模板之一制作的Android应用程序:我相信它是“固定选项卡+滑动”。 下面是当前导航栏的屏幕截图(此SO问题我用红色标记了导航栏): 我的问题是,是否可以自定义这些导航选项卡? 我想增加它们的高度,并在文本上方理想地添加一个图标。 另外,我想更改颜色。
1回复

Android操作栏列表导航停止工作

我正在使用ActionBarSherlock和ViewPagerIndicator来创建一个包含选项卡和列表导航的活动。 选项卡由FragmentStatePagerAdapter支持,并允许用户在应用程序的不同部分之间导航。 列表导航允许用户切换他们当前所在的选项卡的视图模式,例如,如
1回复

Android操作栏导航微调器文本颜色

我可以更改导航微调器的背景: 然而textColor没有改变。 我还尝试了其他方法来更改textColor: 还有其他想法吗?
4回复

在android中的操作栏上设置导航抽屉

我已经创建了一个导航抽屉。我想在状态栏下面显示抽屉。它可以正常工作。但抽屉在版本5及以上的状态栏上方打开。我想将抽屉设置为类似于第二个图像。如何在所有版本的状态栏下方的动作(即)上设置导航抽屉 `
1回复

Android Studio-透明操作栏-导航抽屉

我有一个导航抽屉模板。 我已经修改了操作栏,所以看不到标题。 而且我知道如何更改颜色,但是我不知道如何获得这种效果: 这是我目前的状态: 这是我的styles.xml(我使用的是什么teme):