我有文本“Android 是一个软件堆栈”。在此文本中,我想将“stack”文本设置为可点击。所以,如果你点击它,它将重定向到一个新的 Activity (不在浏览器中)。
我试过了,但我没有得到解决方案。
最佳答案
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"
/>
关于android - 如何设置部分 TextView 可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10696986/