Android - GridView item click opens all layouts

Deadly 提交于 2019-12-13 01:19:44

问题


I have this problem. I have a gridView and when I click an item, it should open a layout BUT every button I click, opens every layout so if I press back button I need to press it 11 times. I didn’t have this problem with an older version of the code I lost. Help please!

public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list);
    GridView gridview = (GridView) findViewById(R.id.gv);
    gridview.setAdapter(new ImageAdapter(this));

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
             switch(position)
                {
                case 0:               
                    Intent ammissione = (new Intent(List.this, Ammissione.class));             
                    startActivity(ammissione);

                case 1:
                    Intent organizzazione = (new Intent(List.this, Organizzazione.class));             
                    startActivity(organizzazione);

                case 2:
                    Intent notizie = (new Intent(List.this, Notizie.class));             
                    startActivity(notizie);

                case 3:
                    Intent percorsi = (new Intent(List.this, Percorsi.class));             
                    startActivity(percorsi);

                case 4:
                    Intent didattica = (new Intent(List.this, Didattica.class));             
                    startActivity(didattica);

                case 5:
                    Intent regolamenti = (new Intent(List.this, Regolamenti.class));             
                    startActivity(regolamenti);

                case 6:
                    Intent diploma = (new Intent(List.this, Diploma.class));             
                    startActivity(diploma);

                case 7:
                    Intent valutazione = (new Intent(List.this, Valutazione.class));             
                    startActivity(valutazione);

                case 8:
                    Intent perterritorio = (new Intent(List.this, PerTerritorio.class));             
                    startActivity(perterritorio);

                case 9:
                    Intent comunicazioni = (new Intent(List.this, Comunicazioni.class));             
                    startActivity(comunicazioni);

                case 10:
                    Intent europa = (new Intent(List.this, Europa.class));             
                    startActivity(europa);

                case 11: 
                    Intent ricerca = (new Intent(List.this, Ricerca.class));             
                    startActivity(ricerca);
                }


        }
    });
  }

回答1:


You are missing break statement in your switch case.

Add break after every case, like this...

case 0:               
   Intent ammissione = (new Intent(List.this, Ammissione.class));             
   startActivity(ammissione);
   break;

See The Switch Statement



来源:https://stackoverflow.com/questions/18500524/android-gridview-item-click-opens-all-layouts

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!