在 android 中显示软键盘

showing softkeyboard in android

我想在打开 activity 后自动打开 android 中的软键盘。我使用了这里提到的代码 Close/hide the Android Soft Keyboard 但它不起作用。 这是我的代码。

final EditText txtName = (EditText) findViewById(R.id.etxt_hidenprac);
txtName.setOnFocusChangeListener(new OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        txtName.post(new Runnable() {
            @Override
            public void run() {
                InputMethodManager imm = (InputMethodManager) Practice.this.getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.showSoftInput(txtName, InputMethodManager.SHOW_IMPLICIT);
            }
        });
    }
});
txtName.requestFocus();




<activity
    android:name="com.example.moisun01.Practice"
    android:label="@string/app_name"
    android:screenOrientation="landscape" 
    android:windowSoftInputMode="stateVisible">
</activity>

我发现它不起作用的原因。这是因为我的布局是 横向 方向。 在 portrate 方向上它工作正常。 但我的应用程序是横向的。 这个问题有解决办法吗?

在Activiy的onCreate()中可以这样写。 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(mEditText, 0);

或者,在您可以使用的清单文件中 android:windowSoftInputMode="stateVisible" activity.

(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(mEditText, 0);

或者,在 Manifest 文件中,您可以在 activity.

下使用 android:windowSoftInputMode="stateVisible"

答案已经在评论框中给出了...它对我有用.. 您不需要做太多...只需添加

android:windowSoftInputMode="stateVisible"

在清单文件中的 activity 标签中 这样 android 中的软键盘自动打开为 activity start

..如果这不是发生在你身上.. 然后..尝试使用 requestFocus() 方法将焦点放在第一个编辑文本上

也许试试这个:

onCreate 方法

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);