Android 中如何处理隐藏软键盘的按钮点击?

a_s*_*ber 5 android

Android Studio 2.3、Android 4.3、Galaxy Nexus。

截屏: 在此输入图像描述

我希望所选按钮(单击时)隐藏软键盘。

问题:

  1. 这个按钮的名称是什么?
  2. 如何处理片段中此按​​钮的单击?

Mic*_*ael 0

您可以使用以下方法处理按下后退按钮:

// When not using fragments
@Override
public void onBackPressed() {
    // Check if no view has focus:
    View view = this.getCurrentFocus();
    if (view != null) {  
        InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }
}
Run Code Online (Sandbox Code Playgroud)

onBackPressed 方法内部的代码可以在这里找到;关闭/隐藏 Android 软键盘

// When using a fragment
fragment.getView().setFocusableInTouchMode(true);
fragment.getView().requestFocus();
fragment.getView().setOnKeyListener( new OnKeyListener()
{
    @Override
    public boolean onKey( View v, int keyCode, KeyEvent event )
    {
        if( keyCode == KeyEvent.KEYCODE_BACK )
        {
            // Check if no view has focus:
            View view = this.getCurrentFocus();
            if (view != null) {  
                InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
            }
        }
        return false;
    }
} );
Run Code Online (Sandbox Code Playgroud)