ListViewのListItemをカスタマイズしてTextViewとSwitchを設置したら、ListViewのOnItemClickイベントがとれなくなってしまった。
SwitchのON/OFFには反応しているけど、Listの項目のクリックに反応してくれない。
それでも、Alarmの設定画面に移動できないので調べてみたら対処法があった。
ListItemのLayoutを定義しているxmlファイルを開いて、一番上のLayoutの属性に以下の1行を追加します。
android:descendantFocusability="blocksDescendants"
たとえば、こんな感じのListItemを表示するためのLayoutファイルの中身はこんな感じです。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="@dimen/abc_dialog_padding_top_material" android:descendantFocusability="blocksDescendants"> <TextView android:id="@+id/list_item_text" android:layout_width="0dp" android:layout_height="wrap_content" android:text="00:00" android:textSize="@dimen/abc_text_size_display_1_material" android:layout_weight="1" /> <Switch android:id="@+id/list_item_switch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOn="ON" android:textOff="OFF"/> </LinearLayout>
0 件のコメント:
コメントを投稿