解决:android TextView上响应部分文字的事件
来源:互联网 发布:刀剑神域源码记录下载 编辑:程序博客网 时间:2024/04/30 23:14
解决:android TextView上响应部分文字的事件
分类: androidjava2011-08-23 15:12849人阅读评论(0)收藏举报
androidstringlayoutencodingurlclass
运行结果如下:
TtActivity.java
public class TtActivity extends Activity {
/* * Called when the activity is first created. */private TextView tv;
static Context ctx = null ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ctx = this ;
tv = (TextView) findViewById(R.id.tv);
// String htmlLinkText= " <a href=\" http://www.csdn.net/CAIYUNFREEDOM/\"><u>我的CSDN博客 </u></a>";
// tv.setText(Html.fromHtml(htmlLinkText));
tv.setMovementMethod(LinkMovementMethod.getInstance());
CharSequence text = tv.getText();
if (text instanceof Spannable){
int end = text.length();
Spannable sp = (Spannable)tv.getText();
URLSpan[] urls = sp.getSpans( 0 , end, URLSpan. class );
SpannableStringBuilder style = new SpannableStringBuilder(text);
style.clearSpans(); // should clear old spans
for (URLSpan url : urls){
MyURLSpan myURLSpan = new MyURLSpan(url.getURL());
style.setSpan(myURLSpan,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
tv.setText(style);
}
}
private static class MyURLSpan extends ClickableSpan{
private String mUrl;
MyURLSpan(String url) {
mUrl = url;
}
@Override
public void onClick(View widget) {
// TODO Auto-generated method stub
Toast.makeText(ctx, ""+mUrl ,Toast.LENGTH_SHORT).show();
}
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
< TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
< /LinearLayout>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
< resources>
<string name="hello">局部事件1 <a href="1" ><u>hello1</u></a>,事件2<a href="2" ><u>hello2</u></a></string>
<string name="app_name">Tt</string>
< /resources>
0 0
- 解决:android TextView上响应部分文字的事件
- 解决:android TextView上响应部分文字的事件
- EditText,TextView部分文字点击事件响应
- TextView中的部分文字响应点击事件
- android textview 部分文字点击事件
- Android TextView部分文字实现点击事件
- 设置TextView部分文字下划线并响应点击事件(SpannableString)
- TextView设部分文字的点击事件
- android textview改变部分文字的颜色
- android textview改变部分文字的颜色
- android 给textview部分文字设置点击事件
- android 为TextView的部分文字设置超链接样式并监听点击事件
- android 为TextView的部分文字设置超链接样式并监听点击事件
- Android 关于TextView中,设置指定部分文字改变颜色,和指定部分文字点击事件
- android textview可以设置文字颜色 部分文字点击事件处理
- android 文本框部分文字的点击事件
- 解决listview item Textview加超链接 超链接以外部分不响应listview item点击事件问题
- Android TextView中部分文字高亮,且可响应点击事件
- cvHaarDetectObjects 解析(1)
- 2014你准备好了么
- iOS下拉刷新上拉加载更多EGOTableViewPullRefresh类库
- php强制下载文件download file
- Struts 2.3.15 环境搭配
- 解决:android TextView上响应部分文字的事件
- 为什么做事会拖沓,分析拖沓的习惯是怎么炼成的!
- 移动分区表和分区索引的表空间
- system调用总是返回-1
- Blackberry 6,7 java环境下开发页面之Field 图片按钮
- 经典SQL行列转换
- c 正则匹配简单运用
- SQL别名、Oracle字符串处理
- C#中打开图片