0

My EditText в XML, завернутые в LinearLayout:андроид: textIsSelectable не работает, когда OnTouchListener реализуется

<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; 
      } 

Копирование и вставка функция не работает на текст редактирования? Когда я комментирую TouchListener, он работает!

acbacbeaoclacm м сл АДК дросселя ее дуга ас в гр на фоне ncoeocnejnlwencnajlendjlcejbcbaclbaldcblabdlbclabdclbladbclaelbclabdbcalebecam ЭМАП cjaecljabecbaebcjbec

+1

Если вы переопределили событие 'onTouch', у вас наверняка возникнет проблема с копированием/вставкой, потому что это обрабатывается в событии' onTouch'. Зачем вам нужен прослушиватель * touch * на EditText? Можете ли вы использовать * click * вместо этого? – milosmns

+0

Эй, спасибо. Я не знал, как его обрабатывают в событии onTouch. – DroidDev

+0

Это своего рода событие касания. Я не уверен на 100%, но я думаю, что это строка из источника: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/ android/widget/TextView.java # 8002 То же самое касается EditText – milosmns

ответ

0

От источника (http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/widget/TextView.java), кажется, что onTouch события обработки IME, клавиатуры, копировать/вставить, и подобные операции. Если вы переопределите эти методы или предоставите пользовательские слушатели, убедитесь, что вы сами обрабатываете события.

+0

EditText расширяет TextView, так что это почти то же самое, что и при обработке этих событий. – milosmns

+0

Я использовал onTouchListener(), чтобы отображать клавиатуру при прослушивании текста редактирования. Теперь, как я могу это сделать без перезаписи onTouchListener()? – DroidDev

+0

Клавиатура автоматически появится, когда вы коснетесь EditText. Если вам действительно нужно переопределить событие касания (и пересмотреть, потому что он может стать беспорядочным), тогда вам придется все обрабатывать самостоятельно (копирование/вставка/клавиатура/etc). Клавиатура – milosmns

 Смежные вопросы

  • Нет связанных вопросов^_^