1

リストビュー用にカスタマイズされた項目レイアウトを作成します。レイアウトには多くのウィジェットがあり、一部には独自のクリックリスナーがあります。

行をクリックすると、リストビューの 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 を使用して、いくつかのリンク機能を提供します。

4

1 に答える 1