Как я могу проверить, нажата ли кнопка ввода на моей клавиатуре? - PullRequest
0 голосов
/ 26 октября 2018

Этот вопрос не является дубликатом.

Я хочу проверить, нажата ли введите на моей клавиатуре.

Этот код является наиболее полезным для меня:

 edittext.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View view, int i, KeyEvent keyEvent) {
            Toast.makeText(getActivity(), "it works", Toast
                    .LENGTH_SHORT).show();
            return false;
        }
    });

Но это работает только с клавиатуры моего компьютера, а не на моем телефоне.Я не знаю, насколько это важно, но я использую Фрагмент.

Вот мой XML:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@null"
    android:id="@+id/edittext"
    android:imeOptions="actionDone"
    android:padding="10dp"/>

Я посмотрел на ALL Этиacticles и я пробовал каждый код, но ничего не получалось.

EDIT

Я прочитал комментарий и хочу добавить:

Я говорю о программной клавиатуре.

1 Ответ

0 голосов
/ 26 октября 2018

Зависимость от android:imeOptions="" вашего EditText.Например, android:imeOptions="actionDone":

editText.setOnEditorActionListener(new OnEditorActionListener() {        
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if(actionId == EditorInfo.IME_ACTION_DONE){
            //do something
        }
    return false;
    }
});

UPD: добавьте android:inputType="text" к вашему EditText в XML-файле

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@null"
    android:id="@+id/edittext"
    android:inputType="text"
    android:imeOptions="actionDone"
    android:padding="10dp"/>
...