TextView中的文本实现部分响应点击

本文介绍如何在Android应用中设置带有可点击链接的协议文本,并通过示例代码详细展示了如何使用Spannable实现特定文本段落的点击跳转功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private void deelWithProtocolView(){//activity的onCreate()方法调用此方法

        TextView protocolview=((TextView) findViewById(R.id.protocol));

        String string=getString(R.string.register_protocol_1) + getString(R.string.register_protocol_2);//获取设置的text

        protocolview.setText(string);


        protocolview.setMovementMethod(LinkMovementMethod.getInstance());

        CharSequence text = protocolview.getText();

        if (text instanceof Spannable) {

            int start=15;//根据具体需要设置起始位置,从1开始数

            int end = text.length();

            Spannable spannable = (Spannable) protocolview.getText();

            spannable.setSpan(new Clickable(), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        }


    }

    private class Clickable extends ClickableSpan implements View.OnClickListener{

        @Override

        public void onClick(View widget) {//根据需要设置处理事件,如下是点击调转到网页的Activity

            Intent intent = new Intent(RegisterStep1Activity.this, WebPageBrowserActivity.class);

            intent.putExtra("url", "file:///android_asset/index.html");

            startActivity(intent);

        }


        @Override

        public void updateDrawState(TextPaint ds) {

            super.updateDrawState(ds);

            ds.setColor(getResources().getColor(R.color.forgetpsw));//设置超链接文本的颜色

            ds.setUnderlineText(false);//设置不要超链接的下划线

        }

    }

效果图如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值