在我的应用程序中,我使用标签活动和活动组。在其中一个活动中,我编辑了文本。当用户单击编辑文本时,将出现软键盘。但是当用户点击后退按钮时,软键盘消失,活动堆栈上的前一个活动出现。
之前在其他应用程序中,当我按下后退按钮时,屏幕上有软键盘,只有软键盘会消失,除非我再次按下后退按钮,否则它不会回到以前的活动。我希望在我当前的应用程序中也发生这种情况。请帮助。
在您的On create方法中使用下面的方法。
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
可以试试这个-* *
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
* * InputMethodManager imm = (InputMethodManager)
this.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isAcceptingText()) {
System.out.println("Software Keyboard was shown");
} else {
System.out.println("Software Keyboard is hidden");
}
这就成功了。我检查了软键盘是否打开,它停留在当前活动,否则它会转到以前的活动。
code
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
查看下面的链接:-
http://developer.android.com/guide/topics/resources/runtime-changes.html HandlingTheChange
http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html我想这会对你有帮助。
protected void hideSoftKeyboard(EditText input) {
input.setInputType(0);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(input.getWindowToken(), 0);
}