根据您的要求修改以下内容.使用SpannableString
String s ="#one #Two Hello World #three";
String split[] = s.split("#");
TextView_tv = (TextView) findViewById( R.id.tv );
for(int i=1;i
{
SpannableString ss1= new SpannableString("#"+split[i]);
ss1.setSpan(new MyClickableSpan(""+i),1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
ss1.setSpan(newForegroundColorSpan(Color.RED),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
_tv.append(ss1);
_tv.append(" ");
}
_tv.setMovementMethod(LinkMovementMethod.getInstance());
class MyClickableSpan extends ClickableSpan{
String clicked;
public MyClickableSpan(String string) {
super();
clicked =string;
}
public void onClick(View tv) {
if(clicked.equals("1"))
{
Toast.makeText(getApplicationContext(),"One",1000).show();
}
else if(clicked.equals("2"))
{
Toast.makeText(getApplicationContext(),"Two",1000).show();
}
else
{
Toast.makeText(getApplicationContext(),"Three",1000).show();
}
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false); // set to false to remove underline
}
}
}
抓住模拟器
在每个哈希点击显示吐司一,二和三.而不是吐司开始一个新的活动.
编辑:
如果你想点击字符串
ss1.setSpan(new MyClickableSpan(""+i,split[i]),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
然后
String clicked;
String astring;
public MyClickableSpan(String check,String actualstring) {
super();
clicked =check;
astring =actualstring; // pass this to next activity using intent
}
然后
public void onClick(View tv) {
if(clicked.equals("1"))
{
Toast.makeText(getApplicationContext(),astring,1000).show();
}
}