ListView をクリックしても onItemClick が実行しない時の対処 # Android
原因
レイアウト内に ListView と Button が共存していて、Button の onClick が onItemClickListener の機能を吸収しているから。
対処方法は 2 つのうちいずれか
- Button のレイアウトに項目を追加する
- ListView にリスナーを登録する
- Button のレイアウトに項目を追加する
<Button ... ... android:focusable="false" <!-- <= 追加する --> </Button>
- ListView にリスナーを登録する
ListView list = (ListView) findViewById(R.id.samplelist); list.setOnItemClickListener(new AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView parent, View view, int position, long id) { // list の項目がクリックされた時の処理を書く startActivity(new Intent(getApplication(), SampleActivity.class)); } });
参考元 # thanks