首页 > 解决方案 > Android:从其他活动跳回时自动打开屏幕键盘(软输入法)

问题描述

情况:

我有活动A。它有一个领域。当用户按下“确定”时,它会打开 Activity B,这只是一个确认对话框。B现在,当用户在 Activity ( )中按下“取消”按钮时setResult(RESULT_CANCEL); finish();,用户最终会回到 Activity A

此时我想再次显示键盘,因为用户唯一能做的就是编辑字段。

但由于某种奇怪的原因,它对我不起作用。我查看了这个讨论并尝试了设置

android:windowSoftInputMode="stateAlwaysVisible|adjustResize"

在清单或呼叫中

inputMethodManager.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);

onCreate()or onStart()oronResume()中,但这些都不起作用。

我应该补充一点,这个问题只有在我“从其他活动返回”时才会出现。在向前导航期间创建活动时,键盘将按预期显示。

任何有关如何处理此问题的建议将不胜感激。

标签: android

解决方案


请使用这个

@Override
    protected void onResume() {
        super.onResume();
        mUserNameEdit.requestFocus();

        mUserNameEdit.postDelayed(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                InputMethodManager keyboard = (InputMethodManager)
                getSystemService(Context.INPUT_METHOD_SERVICE);
                keyboard.showSoftInput(mUserNameEdit, 0);
            }
        },200); //use 300 to make it run when coming back from lock screen
    }

推荐阅读