android - onClickListener 不同的事件,无论是文本还是开关被点击
问题描述
在其中一个屏幕中,用户必须接受条款。
如果他点击开关按钮,则条款被接受。但是,如果他单击按钮左侧的文本,我实际上只想显示条款(为此我有一个 BottomSheet 行为),而没有激活开关。
所以这个问题有点傻,但我实际上不知道如何定位开关内的文本。
<Switch
android:id="@+id/some_id"
style="@style/Body"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/some_resource1"
android:layout_marginTop="@dimen/some_resource2"
android:layout_marginEnd="@dimen/some_resource2"
android:layout_marginBottom="@dimen/some_resource1"
android:text="@dimen/some_text_resource"
app:layout_constraintTop_toBottomOf="@+id/some__different_id" />
此 ofc 针对整个交换机:
some_id.setOnClickListener {
myBtmSheetBhvrMethod(SomeFragment())
}
所以我想要的是类似some_id.text.setOnClickerListener
或在点击事件期间获得点击的确切内容,但由于文本没有 id 我不知道如何实现这一点
解决方案
开关上的文字将其表示为开关标签。
对于您的用例,更好的方法是将切换文本设置为空字符串,并使用文本视图或按钮来显示条款和条件文本。
推荐阅读
- python - Python - Selenium webdriver可以附加到浏览器中现有的运行会话
- python - 当我尝试访问我的 Django 站点时出现内部服务器错误
- c - C中的多线程与多处理
- c# - 在布局文件中读取整数会话值
- python-3.x - 如何在 simulink 中运行经过训练的 keras 模型?
- python - 为什么这段代码会产生这样的输出而不是这样的输出?
- sql - 在 sql 语句上收到 Null
- javascript - 当父级“选择”类时如何更改图像 src?
- javascript - 标识符后跟冒号
- c++ - 在 C++ 中,是否有任何理由生成并立即加入线程,而不是直接调用函数?