Android操作栏导航
我的操作栏上有微调器导航,并且有一个导航侦听器。 创建活动时,侦听器(下面)将拾取默认微调器项,这意味着案例0将在创建时运行,并打开另一个活动。 如何在创建活动时停止注册导航更改Android操作栏导航,android,android-actionbar,Android,Android Actionbar,我的操作栏上有微调器导航,并且有一个导航侦听器。 创建活动时,侦听器(下面)将拾取默认微调器项,这意味着案例0将在创建时运行,并打开另一个活动。 如何在创建活动时停止注册导航更改 ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() { public boolean onNavigationItemSelected(int itemPosition, long item
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;
}
};
可能有一种更简单的方法,但您可以将
onCreate()
中的boolean
标志设置为false,并在侦听器中进行检查,然后在第一次设置后将其设置为true,这样在您第一次运行Intent
代码时,它就不会运行该代码。根据需要,您可能希望将其放入onResume()
中,以便在您返回此活动时它不会运行