Android - クリック可能なリンクを含むテキストビューで、ListView が OnItemClick を受信しない 質問する

Android - クリック可能なリンクを含むテキストビューで、ListView が OnItemClick を受信しない 質問する

他のビューのほかに、各行に TextView を含む ListView があります。TextView は、リンクを含む可能性のある HTML コンテンツをレンダリングします。

リスト アダプターには以下のコードが表示されます。 m_textview.setMovementMethod(LinkMovementMethod.getInstance()); m_textview.setText(Html.fromHtml(myhtmlcontent));

ただし、これにより、リストビューはクリック イベントを受信しなくなります。代わりに、アダプターによって返されるビューにリストの onclick コードを配置することにしました。これは期待どおりには機能しません。これで、テキストビュー以外の行の任意の場所をクリックすると、別のアクティビティを起動できます。ユーザーがテキストビューのリンク以外の部分をクリックして、別のアクティビティを起動できるようにしたいと思います。

onclick を親ビューではなくテキストビューに移動すると、機能しますが、リンクをクリックすると 2 つのイベントが発生します。1 つはリンクのクリック用、もう 1 つはテキストビュー用です (これは望ましくありません)。

Android 上の Google+ と Peep は、私が望む通りに動作することに気づきました。どうすればそれが実現できるのかわかりません。

ベストアンサー1

これは実際にはバグこれを解決するには、行レイアウトxmlを追加しますandroid:descendantFocusability="blocksDescendants"ListView's例えば

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:descendantFocusability="blocksDescendants"
android:orientation="vertical" >

 <TextView
    android:id="@+id/lblStatusMessage"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:focusable="false"
    android:textSize="15sp" />
</LinearLayout>

ソース :これそしてこれ

幸運を :)

おすすめ記事