Android - 如果 EditText 在按键时为空,如何隐藏软键盘?

Android - How to hide softkeyboard if EditText is empty on key press?

我正在做一个计算项目。所以,我的 EditText 框在工作,如果用户单击完成(或任何其他类型的按钮、GO、下一步等)并且 EditText 框是,我想隐藏 softkeyboard

像这样:

EditText 为空 -> 用户点击按钮 -> 软键盘隐藏

我有这段代码,是我使用 Internet 上的教程和指南设法编写的

我知道是管理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 为空且不出错时,如何管理监听器?

你可以使用,例如:

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;
    }
};