当一个带有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);
}
}
我想知道这两种方法有什么区别?!