基于 switch case 在 android 中没有正确调用 activity

based on the switch case not calling activity properly in android

您好,在下面的代码中,当我单击一般注册报告时,它显示的是最后一个。当我单击第二个 activity 时,也显示最后一个 activity。

谁能帮我解决这个问题。

java

public class Reports extends Activity {
    ListView list;
    String[] web = {
        "General Registration Report",
            "IPD Patient Report",
            "OPD Patient Report"

    } ;
    Integer[] imageId = {
            R.drawable.image1,
            R.drawable.image2,
            R.drawable.image3


    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.report);


        CustomList adapter = new
                CustomList(Reports.this, web, imageId);
        list=(ListView)findViewById(R.id.list);
                list.setAdapter(adapter);
                list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                                            int position, long id) {

                        switch(position){
                        case 0:
                            Intent i=new Intent(getApplicationContext(),General_report.class);
                            startActivity(i);
                        case 1:
                            Intent i1=new Intent(getApplicationContext(),Ipd_report.class);
                            startActivity(i1);
                        case 2:
                            Intent i11=new Intent(getApplicationContext(),Opd_report.class);
                            startActivity(i11); 
                        }

                    }
                });

    }

你需要在每个案例后调用break

像这样使用它:

    switch(i){

    case 1: doSomething();
    break;
    case 2: doAnotherthing();
    break;
    }
  case 0:
  Intent i=new Intent(getApplicationContext(),General_report.class);
  startActivity(i);
  break;

  case 1:
  Intent i1=new Intent(getApplicationContext(),Ipd_report.class);
  startActivity(i1);
  break;

  case 2:
  Intent i11=new Intent(getApplicationContext(),Opd_report.class);
  startActivity(i11); 
  break;

您在 case:

之后错过了 break; 声明