如何保持软键盘从Android的活动启动打开?

在Android应用程序中,只要活动启动,文本框就会获得焦点,并自动popup软键盘。 我试图通过在onCreate方法中使用以下行来阻止此操作,但它不起作用。

((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(EditText.getWindowToken(), 0); 

Solutions Collecting From Web of "如何保持软键盘从Android的活动启动打开?"

我知道这是旧的,但也许这将有助于未来的人…

我还没有看到有人提出“国家隐藏”

从Android文档 – android:windowSoftInputMode

您的清单文件将如下所示:

 <activity ... android:windowSoftInputMode="stateHidden|adjustResize" ... > 

您可以使用以下代码行来确保用户单击EditText时只popup键盘

 this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

你需要添加

机器人:windowSoftInputMode = “adjustResize”

添加到AndroidManifest.xml文件中的活动标签。

以下工作?

 // Find editor EditText editWindowInstance = this.findViewById(R.id.MyEditWindow); // close soft keyboard ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(editWindowInstance.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 

你可以把这个代码放到你的Activity.onCreate中:this.getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

但是,我发现最可靠和最干净的方法是在您的活动XML布局中简单地将焦点置于不同的视图

 <Button android:id="@+id/mybutton"> <requestFocus /> </Button> 

以下代码适用于我

 ((InputMethodManager) iClockActivity .getSystemService(Context.INPUT_METHOD_SERVICE)) .showSoftInput(textView, 0); 

这将工作完美,试试这个

 this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

并将以下内容添加到您的清单。

 android:windowSoftInputMode="stateHidden|adjustResize" 

欢呼享受编码….