Как заставить 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 на другие фрагменты.
Редактирование текста на экране набора номера показано на следующем рисунке: