通常,只需将focusable、focusableInTouch + clickable设置为false即可。但在这里,它不起作用。
我希望父LinearLayout也可以使用对EditText的点击,但是它不能工作.
<LinearLayout
android:id="@+id/llText"
android:layout_width="0dp"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/tvText"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingRight="5dp"
android:text="@null" />
<EditText
android:id="@+id/etText"
android:inputType="none"
android:gravity="center_horizontal"
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
android:layout_width="wrap_content"
android:ems="4"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content" />
</LinearLayout>我尝试过editable=false和inputType=none,但是它不起作用。为什么不行?EditText会消耗单击,而不会将其传递给它的父级。
编辑
我正在将一个onClickListener设置为LinearLayout,如果我直接按下EditText,它就不能工作.
发布于 2015-10-23 13:14:05
晚了,但也许其他人需要这些信息。设置可聚焦后,focusableInTouch +可单击为false,将其添加到java代码中:
editText.setMovementMethod(null);
editText.setKeyListener(null);不要忘记保存这些值,以便稍后恢复它们:
mMovementMethod = mEditText.getMovementMethod();
mKeyListener = mEditText.getKeyListener();https://stackoverflow.com/questions/31815923
复制相似问题