欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2024-02-14 10:11:46
在web页面中,有a标签的超链接实现跳转,同样在android当中,用textview控件来显示文字,实现它的事件来跳转。 用过微博android手机端的朋友的都知道...

在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 方法

分享一段核心代码如下:

//以下代码写在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());