Rookie开发者在这里对这个简单的问题感到抱歉。我使用listView来启动活动。不知道为什么我使用 开关而案例 无法正常工作。它会打开新的活动但是当我在设备上按下Android后退按钮时,我会完成所有活动,直到它到达启动它的那个活动。如果我使用 if 选项,则效果很好。我会把代码对我有效,而不是代码。 以下是工作正常
AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> listView, View itemView, int position, long id) {
if(position==0){
Intent myIntent = new Intent(MainActivity.this, Reetiquetado.class);
startActivity(myIntent);}
if(position==1){
Intent myIntent = new Intent(MainActivity.this, ChequeoStock.class);
startActivity(myIntent);}
if(position==2){
Intent myIntent = new Intent(MainActivity.this, EntradaManual.class);
startActivity(myIntent);}
以下内容无效。当我在我的选项上按下一个时,它会进入另一个活动,当我按下后退按钮时,我看不到启动它的活动
AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> listView, View itemView, int position, long id) {
switch (position) {
case 0:
Intent myIntent = new Intent(EntradaManual.this, Reetiquetado.class);
startActivity(myIntent);
case 1:
Intent myIntent1 = new Intent(EntradaManual.this, ChequeoStock.class);
startActivity(myIntent1);
case 2:
Intent myIntent2 = new Intent(EntradaManual.this, EntradaManual.class);
startActivity(myIntent2);
}
}
};
答案 0 :(得分:1)
在找到break
后忘记了case
。
请按以下方式重写您的代码
switch (position) {
case 0:
Intent myIntent = new Intent(EntradaManual.this, Reetiquetado.class);
startActivity(myIntent);
break; /***Add a break statement after this case ****/
case 1:
Intent myIntent1 = new Intent(EntradaManual.this, ChequeoStock.class);
startActivity(myIntent1);
break; /***Add a break statement after this case ****/
case 2:
Intent myIntent2 = new Intent(EntradaManual.this, EntradaManual.class);
startActivity(myIntent2);
break; /***Add a break statement after this case ****/
}