テキストビューの一部をクリック可能に設定するにはどうすればよいですか?質問する

テキストビューの一部をクリック可能に設定するにはどうすればよいですか?質問する

「 Android はソフトウェア スタックです」というテキストがあります。このテキストで、「スタック」テキストをクリック可能に設定したいと思います。そのため、それをクリックすると、新しいアクティビティ (ブラウザー内ではない) にリダイレクトされます。

試してみましたが、解決策が見つかりません。

ベストアンサー1

android.text.style.ClickableSpanあなたの問題を解決できます。

SpannableString ss = new SpannableString("Android is a Software stack");
ClickableSpan clickableSpan = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        startActivity(new Intent(MyActivity.this, NextActivity.class));
    }
    @Override
    public void updateDrawState(TextPaint ds) {
        super.updateDrawState(ds);
        ds.setUnderlineText(false);
    }
};
ss.setSpan(clickableSpan, 22, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

TextView textView = (TextView) findViewById(R.id.hello);
textView.setText(ss);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setHighlightColor(Color.TRANSPARENT);

XML の場合:

<TextView 
  ...
  android:textColorLink="@drawable/your_selector"
/>

おすすめ記事