我正在TextView中研究ClickableSpan,并且尝试获取所点击的span的文本。这是我的代码。
// 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
设置为从第12个字符到第17个字符的 TextView
,并且我希望在 onClick
事件中获取这些字符。
有没有任何办法可以做到这一点?或者至少能否将 12, 17
参数传递给 onClick
事件?
谢谢!