Switch& Case无法正常工作以在listView中启动活动

时间:2018-02-09 18:11:57

标签: android listview android-intent

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

1 个答案:

答案 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 ****/
            }