1

リンクのクリックをキャッチするのに問題があります。

これを使用してリンクを表示できます。

<ListView
    android:id="@+id/newsListview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:linksClickable="true"
    android:autoLink="all"        
    >
</ListView>

// **s** contains mixed text with multiple links in    
textview.setText(Html.fromHtml(s)); 

ただし、テキストビュー内をクリックすると、イベントがキャッチされます

  OnItemClickListener eventClickListener = new OnItemClickListener()  
  {                                
    public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
    {                           
      MyListItemExt data = myItemsDataArrayList.get(position);              
      //...
      Intent paramIntent = new Intent(thisActivityContext, Browser.class);
      //...
    }
  }
  newsListView.setOnItemClickListener(eventClickListener);

一部の人々は使用を提案します

textview.setMovementMethod(LinkMovementMethod.getInstance());

しかし、1)すべてのリンクが無効になっているように見えます.2)ドキュメントを読んでもこれが役立つ理由がわかりません

ここで、インテント フィルターの使用に関するいくつかの提案を見てきました (外部ブラウザーで開かないようにするため)。私が知る限りすべて。

4

1 に答える 1

0

テキストビューの XML で、次の行を追加します。

android:autoLink="web"
android:textIsSelectable="false"

次に、ビュー全体 (行を含む線形または相対レイアウト) に対して、onClickListenerwithinを追加しますgetView()。エレガントではありませんが、以前はそうしなければならなかった方法です。

于 2013-07-10T00:16:26.057 に答える