【问题标题】:Android action bar navigationAndroid 操作栏导航
【发布时间】:2013-04-15 23:32:12
【问题描述】:

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

    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;
    }
    };

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-02
      • 2021-04-15
      相关资源
      最近更新 更多