首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android - ListView没有收到带有可点击链接的文本视图的OnItemClick

Android - ListView没有收到带有可点击链接的文本视图的OnItemClick
EN

Stack Overflow用户
提问于 2011-11-01 04:35:06
回答 5查看 6.5K关注 0票数 20

除了一些其他视图之外,我还有一个ListView,它在每一行中都包含一个TextView。TextView呈现可包含链接的html内容。

下面的代码出现在列表适配器中。m_textview.setMovementMethod(LinkMovementMethod.getInstance());m_textview.setText(Html.fromHtml(myhtmlcontent));

这会导致listview不再接收单击事件。我决定将列表onclick代码放在适配器返回的视图上。这并不完全像预期的那样工作。现在,当我单击行中除文本视图之外的任何位置时,都可以启动另一个活动。我希望用户能够点击文本视图的非链接部分,并启动另一个活动。

如果我将onclick移到textview而不是它的父视图中,它可以工作,但现在单击链接会触发两个事件-一个用于单击链接,另一个用于textview (这不是所需的)。

我注意到google+和peep on android以我想要的方式工作。我不确定如何才能做到这一点。

EN

回答 5

Stack Overflow用户

发布于 2013-04-25 16:04:59

这实际上是一个BUG。要解决这个问题,您可以添加android:descendantFocusability="blocksDescendants"您的ListView's行布局xml。例如,用于

代码语言:javascript
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:descendantFocusability="blocksDescendants"
android:orientation="vertical" >

 <TextView
    android:id="@+id/lblStatusMessage"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:focusable="false"
    android:textSize="15sp" />
</LinearLayout>

来源:thisthis

祝你好运:)

票数 23
EN

Stack Overflow用户

发布于 2011-11-10 08:33:38

ListView项目内的可聚焦视图将禁用选择ListView项目的功能。将android:focusable="false"应用于TextView将允许OnItemClick再次工作。您可能还需要应用android:focusableInTouchMode="false"来使轨迹球忽略链接,因为在ListView中的可聚焦元素上单击轨迹球可以同时单击链接和ListView项。

票数 1
EN

Stack Overflow用户

发布于 2013-11-26 20:16:49

您可以在列表视图上附加一个setOnItemClickListener。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7959409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档