片段onResume时Android显示软键盘

时间:2014-12-16 07:38:15

标签: android android-activity android-fragments android-ui android-input-method

当一个带有EditText的屏幕在前景时,我试图显示键盘..我发现两个解决方案,令人惊讶的是,两个解决方案都适用于某些情况而不是其他情况..

我有两个片段,第一个片段在我调用showSoftKeyboard1时只显示键盘,第二个片段只在我调用showSoftKeyboard2时才有效。两者都在onResume();

中调用
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);
    }
}

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

0 个答案:

没有答案