Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.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 如何从字符串中提取href并使其可单击_Android_Href - Fatal编程技术网

Android 如何从字符串中提取href并使其可单击

Android 如何从字符串中提取href并使其可单击,android,href,Android,Href,我得到了一个html字符串,我想从中提取href字符串,在文本视图中设置这些值之前,只允许单击这些值来启动一些自定义活动。我试过这个 CharSequence sequence = Html.fromHtml(textPost.getDescription()); SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence); URLSpan[] urls = strBuilder.getSpans(0, seq

我得到了一个html字符串,我想从中提取href字符串,在文本视图中设置这些值之前,只允许单击这些值来启动一些自定义活动。我试过这个

CharSequence sequence = Html.fromHtml(textPost.getDescription());
SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence);
URLSpan[] urls = strBuilder.getSpans(0, sequence.length(), URLSpan.class);
for(URLSpan span : urls) {
       int start = strBuilder.getSpanStart(span);
       int end = strBuilder.getSpanEnd(span);
       int flags = strBuilder.getSpanFlags(span);
       ClickableSpan clickable = new ClickableSpan() {
               public void onClick(View view) {
                     Log.d("Home Activity", "Clicked yay");         
               }
        };
        strBuilder.setSpan(clickable, start, end, flags);
        strBuilder.removeSpan(span);
}
textHolder.content.setText(strBuilder);

这会突出显示文本,但当我单击它们时,日志消息不会打印以从字符串中提取超链接

Pattern.compile("[a-z]+:\/\/[^ \n]*").matcher(
"download_recording true Package available http://ab.com click the link").find();
并使其可点击

TextView tv = (TextView) findViewById(R.id.textHolder);
tv.setText(Html.fromHtml(getString(R.string.sampleText)));
tv.setMovementMethod(LinkMovementMethod.getInstance());

从字符串中提取超链接的步骤

Pattern.compile("[a-z]+:\/\/[^ \n]*").matcher(
"download_recording true Package available http://ab.com click the link").find();
并使其可点击

TextView tv = (TextView) findViewById(R.id.textHolder);
tv.setText(Html.fromHtml(getString(R.string.sampleText)));
tv.setMovementMethod(LinkMovementMethod.getInstance());


您真正想要的是:-文本视图中可点击的链接或文本视图中也可点击的emaoil id??文本视图中可点击的链接。我有一个html字符串,看起来像这样“‍ 这是另一个随机文本。”我只想把“可点击部分”作为可点击的文本视图的数据是固定的还是动态的??它是动态的。我得到的HREF数量也会变化,你想点击textview的链接打开另一个活动??不是浏览器或Gmail,你想打开??你真正想要的是什么样的:-texview中的链接是可点击的,或者文本视图中的emaoil id也是可点击的??文本视图中的链接是可点击的。我有一个html字符串,看起来像这样“‍ 这是另一个随机文本。”我只想把“可点击部分”作为可点击的文本视图的数据是固定的还是动态的??它是动态的。我获得的HREF数量也将发生变化,您想在单击textview的链接时打开另一个活动??不是浏览器或Gmail,您想打开??在单击时,我希望它启动自定义活动,而不是启动浏览器。@ShashankUdupa。。您在textview上的单击事件是数字还是文本或超链接??在api调用后,我会得到一个类似string response=“Random stuff”的html字符串。我需要在文本视图中设置此字符串,使其成为“可单击文本随机内容”,当单击“可单击文本”时,一个新活动开始。@ShashankUdupa,我的第一个模式字符串将为您提供特定的字符串。将其设置为textview或任何其他小部件并启动活动单击“我希望它启动自定义活动”,而不是启动浏览器。@ShashankUdupa。。您在textview上的单击事件是数字还是文本或超链接??在api调用后,我会得到一个类似string response=“Random stuff”的html字符串。我需要在文本视图中设置此字符串,使其成为“可单击文本随机内容”,当单击“可单击文本”时,一个新活动开始。@ShashankUdupa,我的第一个模式字符串将为您提供特定的字符串。将其设置为textview或任何其他小部件并启动活动