Java Html<;a>;标记在Android textview中不起作用
我试图在textview(驻留在listview中)中显示JSON结果。其中一个结果是必须显示为“查看结果”的URL。我使用以下代码将URL显示为“查看结果”:Java Html<;a>;标记在Android textview中不起作用,java,android,android-layout,android-listview,textview,Java,Android,Android Layout,Android Listview,Textview,我试图在textview(驻留在listview中)中显示JSON结果。其中一个结果是必须显示为“查看结果”的URL。我使用以下代码将URL显示为“查看结果”: String result=”“+“\n”; bbieResults.put(“Result”,Html.fromHtml(Result)); 相关的xml布局: <TextView android:id="@+id/list_result" android:layout_width="wrap_content"
String result=”“+“\n”;
bbieResults.put(“Result”,Html.fromHtml(Result));
相关的xml布局:
<TextView
android:id="@+id/list_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/list_label"
android:layout_marginLeft="10dp"
android:autoLink="web"
android:linksClickable="true"
android:textSize="25dp" />
这个文本视图确实显示“查看结果”作为URL的标签,但我实际上无法单击它。那么我怎样才能使它成为一个可点击的超链接呢
提前感谢:)
当textview位于.xml文件和listview中时,这对我来说是有效的
当textview位于.xml文件和listview中时,这对我来说很有效。您的解决方案就在这里
实现'me.saket:更好的链接移动方法:1.1'
留言?,留言?,让我来{
chatMessageTextView.setText(HtmlCompat.fromHtml(it.trim(),HtmlCompat.FROM\u HTML\u MODE\u LEGACY),TextView.BufferType.SPANNABLE)
}
chatMessageTextView.movementMethod=BetterLinkMovementMethod.newInstance().apply{
setOnLinkClickListener{},url->
//Handle单击或返回false以让框架处理此链接。
handleMessageLink(itemView.context,url)
符合事实的
}
}
您的解决方案就在这里
实现'me.saket:更好的链接移动方法:1.1'
留言?,留言?,让我来{
chatMessageTextView.setText(HtmlCompat.fromHtml(it.trim(),HtmlCompat.FROM\u HTML\u MODE\u LEGACY),TextView.BufferType.SPANNABLE)
}
chatMessageTextView.movementMethod=BetterLinkMovementMethod.newInstance().apply{
setOnLinkClickListener{},url->
//Handle单击或返回false以让框架处理此链接。
handleMessageLink(itemView.context,url)
符合事实的
}
}
谢谢,我已经在另一个活动中对此进行了测试,这确实是我想要的。但是,在这种特殊情况下,它会导致nullpointer异常。textview位于listview使用的自定义row.xml中。你能为我指出正确的方向,告诉我如何解决这个问题吗?谢谢,我已经在另一个活动中对此进行了测试,这确实是我想要的。但是,在这种特殊情况下,它会导致nullpointer异常。textview位于listview使用的自定义row.xml中。你能给我指出正确的方向,告诉我怎样才能解决这个问题吗?
<TextView
android:id="@+id/list_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/list_label"
android:layout_marginLeft="10dp"
android:autoLink="web"
android:linksClickable="true"
android:textSize="25dp" />
textview.setMovementMethod(LinkMovementMethod.getInstance());
textview.setText(Html.fromHtml(str));
android:autoLink="web"
android:linksClickable="true"
implementation 'me.saket:better-link-movement-method:1.1'
message?.message?.let {
chatMessageTextView.setText(HtmlCompat.fromHtml(it.trim(), HtmlCompat.FROM_HTML_MODE_LEGACY),TextView.BufferType.SPANNABLE)
}
chatMessageTextView.movementMethod = BetterLinkMovementMethod.newInstance().apply {
setOnLinkClickListener { _, url ->
// Handle click or return false to let the framework handle this link.
handleMessageLink(itemView.context,url)
true
}
}
<TextView
android:id="@+id/chat_message_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/files_layout"
android:layout_marginStart="@dimen/space_ultra_small"
android:text="@string/text_small"
android:textColor="@color/black"
android:padding="@dimen/space_ultra_small"
android:textColorLink="@color/sky_blue"
android:textSize="@dimen/text_size_large" />