さまざまなビューで構成されるアイテムを含むグリッドビューがあります。その中には、存在する場合と存在しない場合がある ImageButton があります (ケースによって異なります)。グリッド内の各項目に onItemClick を実装しましたが、情報ボタンが存在する (そして押された) ときにトーストを表示する必要もあります。情報ボタンを含むアイテムが onItemClick に応答しなくなり、押された情報アイコンにのみ応答するという事実を除いて、すべて正常に機能しました。情報ボタンと他の領域の両方をクリックすると、これらのアイテムがそれに応じて応答するようにするにはどうすればよいですか?
onItemClick() のコードは次のとおりです。
@Override
public void onItemClick(AdapterView<?> av, View v, int arg2, long arg3) {
getDayStatus((Date) _monthVectorList.get(0).get(arg2));
_listenerDateSelect.onDispatchDateSelect((Date) _monthVectorList.get(0).get(arg2));
}
ここに Info の imageButton があります:
<ImageButton
android:layout_width="15dp"
android:layout_height="15dp"
android:id="@+id/tv_day_info"
android:layout_gravity="center"
android:gravity="right|center"
android:layout_marginLeft="1dp"
android:onClick="infoToast"
android:focusable="false"
/>
また、情報トーストのコードは次のとおりです。
public void infoToast(View view){
Date date = (Date) view.getTag();
List<String> dayDescription = getDayStatus(date);
Context context = (Context) getApplicationContext();
int duration = Toast.LENGTH_SHORT;
CharSequence text = (String) dayDescription.get(2);
Toast.makeText(context, text, duration).show();
}
フォーカスをimageButtonに設定しようとしましたが、それでも機能しません。問題をよりよく描写するために画像を添付します: http://oi42.tinypic.com/2rcxrv6.jpg