关于android:如何强制键盘显示/隐藏?

How to force keyboard to show/hide?

本问题已经有最佳答案,请猛点这里访问。

我试着在线性布局充气后显示键盘,并调用setContentView如下:

1
2
3
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(etContent, InputMethodManager.SHOW_FORCED);
getContent.requestFocus();

它不起作用。我也尝试过:

1
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

但也没用。如何强制键盘显示/隐藏?我做错了什么?


这应该管用

1
2
3
4
5
6
7
8
9
10
11
public class KeyBoard {

    public static void toggle(Activity activity){
        InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
        if (imm.isActive()){
            imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // hide
        } else {
            imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY); // show
        }
    }//end method
}//end class


此链接清楚地显示了隐藏软键盘的信息。要显示它,您可以使用hack-在布局、布局宽度和布局高度=0dip中的任意位置创建edittext,然后在oncreate do中

1
yourEditText.requestFocus();