在web页面中,有a标签的超链接实现跳转,同样在android当中,用textview控件来显示文字,实现它的事件来跳转。
用过微博android手机端的朋友的都知道微博正文有时有一些高亮显示的文本,如话题、提到的人等等,当点击这些文本时会跳到另外一个页面(即另一个activity),下面就要来模仿微博的这个功能
点击#hello#
点击@人
一、新建一个名为weibocontenttest的工程
二、在布局文件中添加一个textview
三、在mainactivity中创建该textview
四、创建我们自己的一个clickspan子类
由于通过前面的demo示意图可以看到对于话题和@用户要进行不同的处理,所以这里用一个listener来处理不同的情况
五、再回到weibocontenttestactivity
以上就有我们这次需要设置textview可点击的关键方法以及自定义clickspan中要用到的listener
最后完成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());
|