2016-01-28 2 views
1

У меня есть собственная пользовательская клавиатура в моем приложении. В поле EditText я отключил его onTouch(), возвращая истинныйКак предотвратить клавиатуру по умолчанию и включить параметр копирования?

OnTouchListener otl = new OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       switch (event.getAction()) { 
       } 
       return true; 
      } 
     }; 

Это помогает в предотвращении клавиатуры popup.But также отключает сенсорное событие, и я не получаю возможность копирования вставки функции по умолчанию андроида . Этот сценарий происходит во многих приложениях, но я не получаю никакого способа сделать это. Пожалуйста помоги.

ответ

0

Вместо отключения касания вы можете setFocusable до false. Это отключит программную клавиатуру для всплытия.

editText.setFocusable(false);  
editText.setFocusableInTouchMode(false); 

А потом в onTouch, всплывать пользовательскую клавиатуру

Надеется, что это помогает.

0

На самом деле, используя приведенный ниже набор свойств в текстовом редакторе и задавая текст в качестве значения true, несмотря на то, что возвращал false в my onTouch(), моя проблема решена.

<EditText 
      android:id="@+id/numberEditText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:clickable="true" 
      android:textCursorDrawable="@null" 
      android:ems="10" 
      android:paddingRight="3dip" 
      android:focusable="true" 
      android:focusableInTouchMode="true" 
      android:gravity="center_vertical|end" 
      android:cursorVisible="true" 
      android:background="@drawable/edittext_style_dialer" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textColorHint="@color/dialer_text_color" 
      android:textSize="@dimen/dialer_text_size" > 

      <requestFocus /> 
     </EditText> 

В OnCreate(),

mNumberInputEditText.setTextIsSelectable(true); 
Смежные вопросы