Android TextView中文本点击文字跳转 (代码简单)

时间:2022-04-17 07:52:46

在web页面中,有a标签的超链接实现跳转,同样在android当中,用textview控件来显示文字,实现它的事件来跳转。

用过微博android手机端的朋友的都知道微博正文有时有一些高亮显示的文本,如话题、提到的人等等,当点击这些文本时会跳到另外一个页面(即另一个activity),下面就要来模仿微博的这个功能

Android TextView中文本点击文字跳转 (代码简单)

点击#hello#

Android TextView中文本点击文字跳转 (代码简单)

点击@人

Android TextView中文本点击文字跳转 (代码简单)

一、新建一个名为weibocontenttest的工程

Android TextView中文本点击文字跳转 (代码简单)

二、在布局文件中添加一个textview

Android TextView中文本点击文字跳转 (代码简单)

三、在mainactivity中创建该textview
四、创建我们自己的一个clickspan子类

Android TextView中文本点击文字跳转 (代码简单)

由于通过前面的demo示意图可以看到对于话题和@用户要进行不同的处理,所以这里用一个listener来处理不同的情况

五、再回到weibocontenttestactivity

Android TextView中文本点击文字跳转 (代码简单)

以上就有我们这次需要设置textview可点击的关键方法以及自定义clickspan中要用到的listener

Android TextView中文本点击文字跳转 (代码简单)

最后完成oncreate 方法

分享一段核心代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
//以下代码写在oncreate()方法当中    
textview1=(textview)findviewbyid(r.id.sound_help);
string text1="注册";
spannablestring spannablestring1=new spannablestring(text1);
spannablestring1.setspan(new clickablespan() {
@override
public void onclick(view view) {
intent intent=new intent(login.this,guahao.class);
startactivity(intent);
}
}, 0, text1.length(), spanned.span_exclusive_exclusive);
textview1.settext(spannablestring1);
textview1.setmovementmethod(linkmovementmethod.getinstance());