2017-09-04 74 views
0

我有以下項目佈局的RecyclerView:的EditText無論是編輯還是不可編輯,並點擊

<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方法被調用。

如果我指定EditTextonClick它的作品。我想知道爲什麼它不通過根ViewGroup的onClick工作。

我已經嘗試了許多不同的東西像

  • 禁用/使用inputType
  • 如果EditText是不可編輯的並且可以點擊設置可聚焦爲false,並點擊爲真
  • 禁用/啓用EditText啓用EditText使用enabled true/false

這真的很奇怪,因爲EditText實際上與TextView幾乎相同,其行爲與預期相同。

任何想法?

+0

儘量使android:在第二個佈局中可點擊true –

回答

0

嘗試改變這種 機器人:可點擊= 「@ {viewModel.isEditTextClickable!}」/>

爲 機器人:可點擊= 「@ {} viewModel.isEditTextClickable」/>