我一直在寻找这个问题的解决方案,这似乎相当微不足道。我有一个带有各种子元素的ExpandableListView,包括TextView。我希望在TextView中检测到链接,因此我尝试使用android:autoLink="web"
和Linkify.addLinks(textView, Linkify.WEB_URLS);
要么在TextView中创建超链接。我遇到的问题是,当TextView中有链接时,当触摸项目中的任何元素时,带有链接的ExpandableListView项目将不再展开。
我已将android:descendantFocusability="blocksDescendants"
添加到ExpandableListView项的最顶层布局。这允许项目扩展,但仅在触摸项目中的任何其他子元素时。如果我使用链接触摸TextView中的非超链接文本,则永远不会调用onGroupExpand。如果我设置android:linksClickable="false"
,它会按原样扩展,链接会突出显示,但很明显链接不可点击而且什么都不做。
我在这里阅读了这个答案ExpandableListView centains a link does not expand,其中说明这是不可能的,但是这似乎不是真的,因为android:descendantFocusability="blocksDescendants"
允许它,而不是在触摸非超链接文本时。我在这里看到这是一个错误,https://code.google.com/p/android/issues/detail?id=3414,但它被拒绝了。
当触摸任何非超链接的TextView文本时,如何使项目展开时,如何使链接可单击?