Android Studio 2.3.1
我正在尝试创建一些不是 web 或 html 的文本,而是一些普通文本,我希望它们看起来像一个 web 链接,在单击时可以单击。
正文是这样的:包含 3 条评论
我想让它看起来像一个可点击的网络链接。
private void setupTextViewAsLinkClickable() {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
mTvReviews.setMovementMethod(LinkMovementMethod.getInstance());
mTvReviews.setText(Html.fromHtml("Contains 3 reviews", Html.FROM_HTML_MODE_LEGACY));
}
else {
mTvReviews.setMovementMethod(LinkMovementMethod.getInstance());
mTvReviews.setText(Html.fromHtml("Contains 3 reviews"));
}
}
我也为我的 xml 尝试过这个:
<TextView
android:id="@+id/tvReviews"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-condensed"
android:autoLink="all"
android:linksClickable="true"
android:clickable="true"
android:textSize="@dimen/runtime_textsize"
android:text="Contains 3 reviews" />
最佳答案
尝试使用这段代码,它在我的项目中的工作代码。
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);
关于android - 如何使 TextView 文本链接可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43349822/