查看 longclick 被 textView 子级中止
Posted
技术标签:
【中文标题】查看 longclick 被 textView 子级中止【英文标题】:view longclick were abort by textView children 【发布时间】:2021-05-25 22:21:53 【问题描述】:我有一个包含 textView 的 LinearLayout,然后我将 LongClick 放到此 linearlayout 以显示对话框,但仅长按到 textview 之外的此布局使对话框显示,在 textview 中单击不显示任何内容
<LinearLayout
android:id="@id/bubble"
android:tag="69"
android:layout_
android:layout_
android:layout_marginEnd="30dp"
android:layout_marginRight="30dp"
android:descendantFocusability="blocksDescendants"
android:layout_toEndOf="@id/messageUserAvatar"
android:layout_toRightOf="@id/messageUserAvatar"
android:orientation="vertical">
<TextView
android:id="@id/messageText"
android:duplicateParentState="true"
android:clickable="false"
android:longClickable="false"
android:layout_
android:layout_
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp" />
谁能帮忙
【问题讨论】:
长按点击可以使用setOnLongClickListener
viewlayer.setOnClickListener //在这里做任何你想做的事情
【参考方案1】:
我相信这是因为 TextView 位于线性布局之上。解决此问题的简单方法是在所有视图之上放置一个视图,可能使用 FrameLayout,然后放置一个具有透明背景的空视图,然后从该空视图中收听点击。
<View
android:id="@+id/viewClickLayer"
android:layout_
android:layout_
android:clickable="true"
android:focusable="true" />
在java上
viewClickLayer.setOnClickListener
//do anything you want here
【讨论】:
以上是关于查看 longclick 被 textView 子级中止的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 上“用 longclick 拖动”是不可能的吗?
有没有办法遍历 ListView 的所有子视图并将它们转换为 TextView