为一个TextView中的某个单词设置单击事件
2015-08-01 18:25
519 查看
为TextView中的字符串“dai ha ha dai lingdaidaing“中的dai单词设置单击事件
[java] view
plaincopy
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView) findViewById(R.id.tv);
String str = "dai ha ha dai lingdaidaing";
SpannableStringBuilder ssb = new SpannableStringBuilder(str);
Pattern pattern = Pattern.compile("dai");
Matcher matcher = pattern.matcher(str);
while(matcher.find()) {
String group = matcher.group();
ClickableSpan cs = new MyClickableSpan(group);
ssb.setSpan(cs, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
textView.setText(ssb);
textView.setMovementMethod(LinkMovementMethod.getInstance());
}
class MyClickableSpan extends ClickableSpan{
private String group;
public MyClickableSpan(){}
public MyClickableSpan(String group){
this.group = group;
}
@Override
public void onClick(View widget) {
Toast.makeText(getApplicationContext(), group, 0).show();
}
}
}
[java] view
plaincopy
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView) findViewById(R.id.tv);
String str = "dai ha ha dai lingdaidaing";
SpannableStringBuilder ssb = new SpannableStringBuilder(str);
Pattern pattern = Pattern.compile("dai");
Matcher matcher = pattern.matcher(str);
while(matcher.find()) {
String group = matcher.group();
ClickableSpan cs = new MyClickableSpan(group);
ssb.setSpan(cs, matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
textView.setText(ssb);
textView.setMovementMethod(LinkMovementMethod.getInstance());
}
class MyClickableSpan extends ClickableSpan{
private String group;
public MyClickableSpan(){}
public MyClickableSpan(String group){
this.group = group;
}
@Override
public void onClick(View widget) {
Toast.makeText(getApplicationContext(), group, 0).show();
}
}
}
相关文章推荐
- ABP之动态WebAPI
- ASP.net 路径问题 详解
- ASP.net 路径问题 详解
- DataStructure-4-队列
- flash as3用代码播放声音的常用方法和属性
- 错误:Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
- Length of Last Word(返回最后一个字母的长度)
- HDU1299 素数分解
- HDOJ 1795 The least one(素数打表)
- IOS开发UI基础文本属性Attributes
- 使用innotop监测mysql
- HashMap解决hash冲突的方法
- vs2010 和 vs2012同时安装遇到的问题
- C语言关键字详解
- IOS开发UI基础UIControl事件
- Appium for Mac 环境准备篇
- (个人开源)ffpanel --ffmpeg的GUI,让ffmpeg离开黑黑的命令行
- POJ 2828 Buy Tickets 线段树
- IOS开发UI基础UIImagePickerController的属性
- 小点滴——Lingo的非线性规划、最优化求解