如何使 textview 文本链接可点击 [英] How to make a textview text link clickable

查看:62
本文介绍了如何使 textview 文本链接可点击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Android Studio 2.3.1

我正在尝试创建一些不是 web 或 html 的文本,而是一些普通文本,我希望它们看起来像一个点击时可点击的网络链接.

I am trying to create some text that is not web or html but just some normal text that I want to look like a web link that will be clickable when clicked.

正文是这样的:包含 3 条评论

我想让它看起来像一个可点击的网络链接.

And I want to make it look like a clickable web link.

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 尝试过这个:

I have also tried this as well for my 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" />

推荐答案

试试这个代码,它在我的项目中的工作代码.

try with this code, its working code in my project.

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);

如何设置部分文本视图可点击

这篇关于如何使 textview 文本链接可点击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆