android:textIsSelectable在实现OnTouchListener时不起作用

时间:2016-10-27 20:47:22

标签: android android-edittext android-linearlayout ontouchlistener

xml中的EditText包含在LinearLayout中:

 <EditText
            android:id="@+id/editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="TYPE HERE"
            android:padding="7dp"
            android:singleLine="true"
            android:cursorVisible="true"
            android:textIsSelectable="true"
            />

在我的片段中:

 mEditText.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                mEditText.requestFocus();
                InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.showSoftInput(mEditText, InputMethodManager.SHOW_IMPLICIT);
                return true;
            }

复制和粘贴功能对编辑文本无效 当我对onTouchListener发表评论时,它有效!

acbacbeaoclacm m cl adc a dcl arc ac a c in ncoeocnejnlwencnajlendjlcejbcbaclbaldcblabdlbclabdclbladbclaelbclabdbcalebecam emac cjaecljabecbaebcjbec

1 个答案:

答案 0 :(得分:0)

从源(http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/widget/TextView.java)看来,onTouch事件似乎正在处理IME,键盘,复制/粘贴以及类似的操作。如果您覆盖这些方法或提供自定义侦听器,请确保自己处理事件。