Android — Как скрыть softkeyboard, если EditText пуст при нажатии клавиши?

#java #android #listener #keyboard-events

#java #Android #прослушиватель #клавиатура-события

Вопрос:

Я работаю над проектом для выполнения вычислений. Итак, у меня работает EditText окно, и я хочу скрыть, softkeyboard если пользователь нажимает ГОТОВО (или любую другую кнопку, ПЕРЕЙТИ, ДАЛЕЕ и т.д.), А поле EditText пусто

Вот так:

EditText пуст -> пользователь нажимает кнопку -> softkeyboard скрывает

У меня есть этот фрагмент кода, который мне удается написать с помощью руководств по Интернету

Я знаю, что это для управления прослушивателем кнопки в softkeyboard

 TextView.OnEditorActionListener mEditor = new TextView.OnEditorActionListener()
{
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
    {
        if (actionId == EditorInfo.IME_ACTION_DONE)
        {
            //Calculations method
        }

        return false;
    }
};
  

Итак, мой вопрос: как я могу управлять прослушивателем, когда EditText он пуст, и не получать ошибок?

Ответ №1:

вы можете использовать, например:

 TextView.OnEditorActionListener mEditor = new TextView.OnEditorActionListener()
{
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
    {
        if (actionId == EditorInfo.IME_ACTION_DONE)
        {
            if (!TextUtils.isEmpty(v.getText().toString())){
                // you calculations method
            } else {
                InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(
                Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(v.getApplicationWindowToken(),
                InputMethodManager.HIDE_NOT_ALWAYS);
            }
        }

        return false;
    }
};