0

私は Jsoup を使用して Web サイトを解析し、書式を設定し、書式設定Html.fromHtml()されたテキストを textview に表示しています。

また、LinkMoveMentmethod.getInstanceテキストビューのリンクをクリック可能にするために使用しています。

リンクがクリックされると、ブラウザーを選択するためのセレクターが起動されます。

このデフォルトの動作をオーバーライドするにはどうすればよいですか。

たとえば、クリックした URL を自分のアクティビティに渡し、Jsoup を使用してそれを解析したいとします。


コード

TextView pageContent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_page_details);
        getWindow().getDecorView().setBackgroundColor(Color.WHITE);
        pageContent = (TextView) findViewById(R.id.dpage_content);
}
....

private void parseHtml(String response) {
        Log.d(TAG, "parsinghtml");
        Document document = Jsoup.parse(response);
        page_content = document.select("div.page-content").first().html();

        Spanned spanned = Html.fromHtml(page_content, new UILImageGetter(pageContent, this), null );
    }
4

2 に答える 2

-1

クリック可能なスパンを使用できます

     ClickableSpan cs = new ClickableSpan() {  
   @Override
     public void onClick(View v) {  
      Log.d("main", "textview clicked");
        Toast.makeText(Main.this, "textview clicked",Toast.LENGTH_SHORT).show(); 
      } };
     // set the "test " spannable.
     span.setSpan(cs, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(span);
  tv.setMovementMethod(LinkMovementMethod.getInstance());
于 2016-05-13T17:26:34.150 に答える