Как заставить EditText вести себя как Dialer в телефонах Android, отключив программный ввод во фрагменте?

На самом деле я использую свой собственный набор цифровых кнопок во фрагменте для добавления чисел в текстовом редакторе, он отлично работает. Проблема в том, что когда я нажимаю на edittext, чтобы вставить или удалить символ в определенной позиции, возникает всплывающая подсказка. Я попробовал несколько решений:

 android:windowSoftInputMode="stateAlwaysHidden" //in Manifest

 etNumber.setFocusableInTouchMode(false); //tried xml version of thisas well
 etNumber.setFocusable(false);


 final InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(getView().getWindowToken(), 0); //no luck with imm as well. 




getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); //This disables the softinput but on entire activity, I need softinput on another fragment. 

Я хочу, чтобы это вело себя

  • Начните добавлять числа, когда мои пользовательские номера клавиатуры нажимаются.
  • Показывать курсор в позиции, где пользователь касается без программной клавиатуры, здесь моя пользовательская клавиша возврата будет удалять последний символ, ИЛИ пользователь сможет вставить в позицию курсора.
  • Разрешить выделение текста без всплывающего окна
  • Курсор попадает в фокус только тогда, когда пользователь касается текста редактирования.
  • И не мешайте softinput на другие фрагменты.

Редактирование текста на экране набора номера показано на следующем рисунке:

0 ответов

Другие вопросы по тегам