объединить текст (или символ) с пользовательским вводом в edittext для Android

1

Все. Сейчас я работаю над App, которое запускает диалог (содержащий EditText) на любой буквенно-цифровой клавише, нажатой с клавиатуры. Теперь я хочу, чтобы любой тип пользователя появлялся в окне EditText, который работает правильно, единственная проблема, которая у меня есть, я хочу, чтобы ключ char был нажат, чтобы открыть диалог в EditText Box. Мне не хватает 1-го символа, который явно прав. Но я получаю этот символ как строку отдельно. Теперь захотелось подключить (показать) эту клавишу char, чтобы ввести EditText от пользователя в качестве 1-й буквы. Я попробовал это,

    {
final EditText search_d_text = (EditText) dialog
                    .findViewById(R.id.search_text1);
search_d_text.setText(s1);// si is the 1st char key launch dialog(containing edittext).
            search_d_text.setInputType(InputType.TYPE_NULL);
            search_d_text
                    .setOnEditorActionListener(new OnEditorActionListener() {
                        @Override
                        public boolean onEditorAction(TextView v, int actionId,
                                KeyEvent event) {

                            if (event != null
                                    && event.getAction() == KeyEvent.ACTION_DOWN) {
                                // Handle enter key
                                return true;
                            }
                            if (actionId == EditorInfo.IME_ACTION_NEXT) {
                                // Handle IME NEXT key
                                return true;
                            }
                            if (actionId == EditorInfo.IME_ACTION_DONE) {
                                // Handle IME DONE key
                                return true;
                            }
                            return false;
                        }
                    });
            search_string = search_d_text.getText().toString();
            enterd_text = search_d_text.getText();
                        // collecting  input text.
}

То, что я получаю, например. когда я набираю MASK, он показывает ASKM.

SetText (s1) всегда действует как последняя буква. Я хочу показать слово или любой пользовательский ввод, начиная с 1-го ключа. Спасибо.

  • 0
    код, где вы открываете диалог?
  • 0
    Спасибо за ответ, В той же деятельности, просто всплывающее окно. я реализовал dispatchKeyEvent (событие KeyEvent), чтобы определить ключ, и если это буквенно-цифровой ключ, то отображается диалоговое окно.
Показать ещё 2 комментария
Теги:
android-edittext

1 ответ

1
Лучший ответ

Найденное решение, Просто переместив позицию текстового курсора. С помощью search_d_text.setSelection(s1.length()); т.е. к следующей позиции.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню