Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置可点击字符串-文本视图(Android)_Android_Textview - Fatal编程技术网

设置可点击字符串-文本视图(Android)

设置可点击字符串-文本视图(Android),android,textview,Android,Textview,我的代码是这样的 String content = "Hi this is @Naveen. I'll meet @Peter in the evening.. Would you like to join @Sam??"; TextView contentTextView=(TextView)userHeader.findViewById(R.id.contentTextView); contentTextView.setText(content); 在文本视图中设置文本之前,我想为@Na

我的代码是这样的

String content = "Hi this is @Naveen. I'll meet @Peter in the evening.. Would you like to join @Sam??";

TextView contentTextView=(TextView)userHeader.findViewById(R.id.contentTextView);
contentTextView.setText(content);

在文本视图中设置文本之前,我想为@Naveen、@Peter和@Sam添加单击事件。。当用户点击这些文本时,我想打开一个新的意图。。可能吗?任何指针都会非常有用。

您可以使用
Linkify
类,该类提供了向
文本视图添加链接的方法。您可以使用
addLinks(TextView TextView,Pattern Pattern,String scheme)
方法,该方法需要您为要匹配的文本指定
TextView
、一个
模式
,以及一个将用于匹配可处理此类数据的
活动的自定义方案。单击链接时要打开的
活动
必须在其
意图过滤器
中声明此方案。希望这对您有所帮助。

您可以尝试使用自定义模式

但是,如果这不符合您的需要,您可以尝试以下方法:

SpannableString ss = new SpannableString("Hi this is @Naveen. I'll meet @Peter in the evening.. Would you like to join @Sam??");
ClickableSpan clickableSpanNaveen = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        //Do Stuff for naveen
    }
};
ClickableSpan clickableSpanPeter = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        //Do Stuff for peter
    }
};
ClickableSpan clickableSpanSam = new ClickableSpan() {
    @Override
    public void onClick(View textView) {
        //Do Stuff for sam
    }
};

ss.setSpan(clickableSpanNaveen, 11, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(clickableSpanPeter, 29, 35, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(clickableSpanSam, 76, 79, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView contentTextView=(TextView)userHeader.findViewById(R.id.contentTextView);
contentTextView.setText(ss);
contentTextView.setMovementMethod(LinkMovementMethod.getInstance());

@Daniel Yeaah早些时候看到了。。但我无法理解:(嗯……试着查看Linkify,查看docsThanks中的指针@Leon.。我在代码中做了一些更改,它成功了:)