我的操作栏上有微调器导航,并为此设置导航监听器。 创建活动时,侦听器(下方)选择默认的微调器项,这意味着在创建时运行案例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;
}
};
答案 0 :(得分:0)
可能有一种更简单的方法,但您可以将boolean
中的onCreate()
标记设置为false并在侦听器中检查该标记,然后在设置后第一次将其设置为true首次运行时,不会运行Intent
代码。根据您的需要,您可能希望将其放在onResume()
中,以便在您重新使用此Activity