我的布局文件中有一个InputTextLayout,我希望它通过kotlin执行onclick操作,问题是需要两次单击才能执行onclick。因此,我尝试将edittext的焦点设置为false,它可以工作,但是edittext不允许我们提供输入。
我尝试过类似的解决方案,例如在onclick()函数中传递isFocusable = true,isFocusableInTouchMode = true,requestFocus(),但没有用。
这是我的xml代码
<android.support.design.widget.TextInputLayout
android:id="@+id/tilPostArticleTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/view_separator_my_groups">
<android.support.design.widget.TextInputEditText
android:id="@+id/titleEdittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:layout_marginTop="5dp"
android:hint="Title"
android:focusable="false"
android:background="@android:color/transparent"
android:gravity="left"
android:onClick="onOutClick"
android:inputType="textPersonName"
android:minHeight="40dp"
android:padding="6dp"
android:textColorHint="#228B22" />
</android.support.design.widget.TextInputLayout>
和我在Kotlin中的onclick函数
@OnClick(R.id.tilPostArticleTitle)
fun onOutClick(view: View){
mRecyclerViewMyGroups.visibility = View.GONE
dropdownView.setImageResource(R.drawable.ic_keyboard_arrow_down_black_24dp)
titleEdit.requestFocus()
titleEdit.isFocusable = true
titleEdit.isFocusableInTouchMode = true
}