質問: (String) listView.getItemAtPosition(position); switch (position){ case 0: intent.setClass(MainActivity.this,SubActivity.class); break; case 1: intent.setClass(MainActivity.this,SubActivity.class); break; case 2: intent.setClass(MainActivity.this,SubActivity.class); break; case 3: intent.setClass(MainActivity.this,SubActivity.class); break; case 4: intent.setClass(MainActivity.this,SubActivity.class); break; } startActivity(intent); } }); } }
回答: positionによって処理を変えるのは危険です。リストの順番を入れ替えるたびにコードを修正しないといけなくなります。 リストに渡しているStringで処理を分けるべきですね。 そもそも、どの行を押しても同じ画面に遷移するなら、この画面ではどの行が選択されたかを判断する必要が無いと思いますよ。次の画面に押された行のStringを渡すだけで充分だと思います。 また、コードはコード用の記述方を使ってください。