android - 如何从布局 View 中触发选择器?

标签 android android-layout android-listview android-selector

问题

假设您在布局 View 中有一个 View ,并且您希望布局上的每个触摸事件都会影响 View 的背景选择器。

例如,当您触摸布局时, View 的选择器将选择state_pressed 状态。

我尝试过的

我读过有关 duplicateParentState 和 addStatesFromChildren 的内容,但我认为这与我正在搜索的内容相反。

我也尝试过使用 splitMotionEvents,但没有用。

问题

你是怎么做到的?

此外,如果布局位于 listView 内(作为其中的一个项目),应该怎么办?

最佳答案

假设您在线性布局中有一个微调器。将 View 的可聚焦属性(这里是微调器)设置为 false。以及线性布局的 onClick 调用 performClick on view(在本例中为 spinner)。

编辑:

In focus 线性布局的Change Listener如果有焦点,调用view上的requestFocus。 您可以按照相同的方法查看其他状态

另一种方法:

不要将任何选择器应用于布局(在本例中为线性布局)并添加您想要查看的任何选择器(在本例中为微调器)。对于 View 添加此参数

android:duplicateParentState="true"

关于android - 如何从布局 View 中触发选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22588662/

相关文章:

java - 当我想加载 ListView 时,Android ArrayAdapter 崩溃

android - 如何动态复制特定的表行

使用 Circleci 构建的 Android 持续集成失败并出现错误 android ndk 未配置

android - 更新 Android 中 ormlite 数据库表中的所有列

android - 什么是 LayoutInflater 以及如何正确使用它?

android - ListView 文本消失

android - 如何将 azure sql 数据库中的表连接到 Easy Tables 的表?

java - 无法启动 Activity ComponentInfo - 更改为 setContentView()

java - 从 fragment 移回到上一个 Activity

java - 如何改变 Android Studio 中 listView 中项目的数量?