【问题标题】:TextView doesn't pass click to parentTextView 不会将点击传递给父级
【发布时间】:2018-06-20 14:04:25
【问题描述】:

我有一个带有组标题的 ExpandableListView,单击该标题时应展开和折叠。这适用于单击列表项内的 ImageView,它适用于直接单击该项目等,但不适用于列表项中的 TextView。
我必须给 TextView 一个 OnClickListener 并单独捕获点击。这不是很好,尤其是因为我没有通常在 OnGroupClickListener 中获得的所有数据。

我阅读了有关制作 TextView clickable=truefocusable=false 的信息,但这并没有帮助。我还需要设置或更改什么才能使点击“通过”TextView 到基本视图?

编辑
查看我的答案。
无论如何,我展示了 GroupClickListener 是如何设置的。
当然 clickable 设置为 true,而不是 false。
在显示此列表的活动中,我这样做了

ExpandableListView.OnGroupClickListener groupClickListener = new ...() {
  @Override
  public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
  if (parent.isGroupExpanded(groupPosition))
    parent.collapseGroup(groupPosition);
  else
    parent.expandGroup(groupPosition, true);
  return true;
  }
};

然后将其分配给可展开的列表视图。
listView.setOnGroupClickListener(groupClickListener);

【问题讨论】:

  • Android 上的 TextViews 默认情况下不可点击或聚焦。您确定捕获点击事件的是文本视图吗?如果是这样,可能是因为您在某处使其可点击。另外,你如何在你的父视图上设置一个监听器?共享一些适配器代码可能会有所帮助。谢谢。

标签: android


【解决方案1】:

我找到了解决方案,现在已经很清楚了。

我确实将 android:inputType="textNoSuggestions" 设置为建议,因为我有时会遇到 TextView 显示下划线作为拼写错误的指示。
可能这会将视图设置为捕获点击的可聚焦模式。

我必须弄清楚这些下划线是怎么回事。为什么只是有时?为什么?对于一个不接受任何输入而只显示静态文本的元素来说,它们是相当愚蠢的。

但至少我找到了它,我希望这可以帮助其他人节省一些时间。

【讨论】:

    猜你喜欢
    • 2019-05-25
    • 2023-04-06
    • 1970-01-01
    • 2018-10-01
    • 2020-09-11
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多