TextViewでClickableSpan
を処理していますが、クリックしたスパンのテキストを取得しようとしています。これは私のコードです。 Android ClickableSpan get text()
// this is the text we'll be operating on
SpannableString text = new SpannableString("Lorem ipsum dolor sit amet");
// make "dolor" (characters 12 to 17) display a toast message when touched
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View view) {
// This will get "Lorem ipsum dolor sit amet", but I just want "dolor"
String text = ((TextView) view).getText().toString();
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
}
};
text.setSpan(clickableSpan, 12, 17, 0);
あなたが見ることができるように
は、私がclickablespan
文字へ
TextView
12〜17を設定し、私は
onClick
イベントでこれらの文字を取得したいです。
どうすればいいですか?または、少なくとも12, 17
パラメータをonClick
イベントに渡すことはできますか?
ありがとうございました!
ありがとうpskink、それは動作します! – TrungDQ
確かに、in.// TODOsに記載されているチェックを追加します。 – pskink
は複数のクリック可能な単語に対しても機能します:)ありがとう!しかしそれはなぜ機能するのですか? OnClickはtextviewであるビューを受け取るので、tv.getTextを実行すると、他のSpannable単語があったとしてもクリックされたSpannedオブジェクトが返されます。これはどのように機能していますか? @pskink – fersarr