EditText可编辑或不可编辑且可单击

时间:2017-09-04 22:12:37

标签: android android-layout android-databinding

我有一个包含以下项目布局的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取决于布尔值editablenon-editable and clickable。由于某些未知原因,我的EditText并未将触摸事件发送给父母的父母。如果我点击TextView,则会调用onClick方法。

如果我指定onClick的{​​{1}},则可行。我想知道为什么虽然它没有通过View View的EditText工作。

我尝试过很多不同的事情,比如

  • 使用onClick
  • 停用/启用EditText
  • 如果inputType不可编辑且可点击设置可设置为false且可点击为true
  • 使用EditText true / false
  • 禁用/启用EditText

这真的很奇怪,因为enabled实际上与EditText的行为基本相同。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试改变这一点 机器人:可点击= “@ {!viewModel.isEditTextClickable}”/&GT;

有 机器人:可点击= “@ {viewModel.isEditTextClickable}”/&GT;