リストビュー用にカスタマイズされた項目レイアウトを作成します。レイアウトには多くのウィジェットがあり、一部には独自のクリックリスナーがあります。
行をクリックすると、リストビューの onListItemClick が機能する場合と機能しない場合があります。
検索に時間を費やした後、レイアウトのルートにandroid:descendantFocusability="blocksDescendants"を設定する方法を見つけました。それは機能しますが、機能しないテキストビューは 1 つだけです (クリック可能で fucusable 属性が試行されました)。リストのアダプターで、テキストビューの onClickListener を設定しました。これは機能します。しかし、それは自然なことではありません。誰もそれを解決する方法を知っていますか?
ところで、異なるウィジェットのクリックを区別する方法はありますか? さて、何をクリックしても(テキストビューを除く)、行全体の背景セレクターが変更されました。
どうもありがとう!
// リストの行レイアウトのルート
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:descendantFocusability="blocksDescendants"
android:padding="@dimen/medium"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
// ひどいテキストビュー
<TextView
android:id="@+id/text"
android:textColor="@android:color/secondary_text_light"
android:textColorLink="@android:color/holo_blue_dark"
android:layout_marginTop="@dimen/small"
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
android:layout_below="@id/nick"
android:layout_alignLeft="@id/nick"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
アップデート
textview は Linkify を使用して、いくつかのリンク機能を提供します。