恢复时Android显示软键盘

恢复时Android显示软键盘,android,android-activity,android-fragments,android-ui,android-input-method,Android,Android Activity,Android Fragments,Android Ui,Android Input Method,我试图显示键盘时,屏幕的前景是EditText。。令人惊讶的是,我发现了两种解决方案,它们都适用于某些情况,而不是另一种 我有两个片段,第一个片段仅在我调用showSoftKeyboard1时显示键盘,第二个片段仅在我调用showSoftKeyboard2时工作。这两个函数都在onResume()内调用 我想知道这两种方法有什么区别 只需对清单中的活动使用android:WindowsOfInputMode=“StateAllwaysVisible”。这并不能回答我的问题。你的解决方案对我有效。

我试图显示键盘时,屏幕的前景是EditText。。令人惊讶的是,我发现了两种解决方案,它们都适用于某些情况,而不是另一种

我有两个片段,第一个片段仅在我调用showSoftKeyboard1时显示键盘,第二个片段仅在我调用showSoftKeyboard2时工作。这两个函数都在onResume()内调用


我想知道这两种方法有什么区别

只需对清单中的活动使用android:WindowsOfInputMode=“StateAllwaysVisible”。这并不能回答我的问题。你的解决方案对我有效。但我不知道为什么有必要这么做。我只是想让键盘显示我的片段。但我遇到了一个问题,如果我将应用程序发送到后台并将其带到前台,它将不会再次显示键盘。我尝试了您单独列出的两种方法,直到找到了您的解决方案。谢谢你。
public static void showSoftKeyboard1(Context activity, View view) {
    if (view == null) return;
    view.requestFocus();
    InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}

public static void showSoftKeyboard2(Activity activity, View view) {
    if (view == null) return;
    if (view.requestFocus()) {
        activity.getWindow().setSoftInputMode(
                WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
    }
}