我有一个包含以下项目布局的RecyclerView:
<LinearLayout
android:orientation="horizontal"
....
android:clickable="@{viewModel.isClickable}"
android:onClick="@{viewModel::onPropertyClicked}">
<LinearLayout
....
android:clickable="false">
<TextView
android:clickable="false"
android:focusable="false"
.... />
<EditText
...
android:text="@{viewModel.propertyValue}"
android:focusable="@{viewModel.isEditTextClickable}"
android:focusableInTouchMode="@{viewModel.isEditTextClickable}"
android:cursorVisible="@{viewModel.isEditTextClickable}"
android:clickable="@{!viewModel.isEditTextClickable}"/>
</LinearLayout>
<ImageView ... />
</LinearLayout>
我希望EditText
取决于布尔值editable
或non-editable and clickable
。由于某些未知原因,我的EditText
并未将触摸事件发送给父母的父母。如果我点击TextView
,则会调用onClick
方法。
如果我指定onClick
的{{1}},则可行。我想知道为什么虽然它没有通过View View的EditText
工作。
我尝试过很多不同的事情,比如
onClick
EditText
inputType
不可编辑且可点击设置可设置为false且可点击为true EditText
true / false EditText
这真的很奇怪,因为enabled
实际上与EditText
的行为基本相同。
有什么想法吗?
答案 0 :(得分:0)
尝试改变这一点 机器人:可点击= “@ {!viewModel.isEditTextClickable}”/&GT;
有 机器人:可点击= “@ {viewModel.isEditTextClickable}”/&GT;