我是Android应用程序开发的新手,但我在iOS中拥有编程知识。我昨天才开始学习Andriod。当我点击EditText之外的任何地方时,我想要隐藏键盘。但是我发现了一个隐藏键盘的代码,其代码如下:
"InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(txtUserName.getWindowToken(), 0);"
然后我在我的项目中尝试了以下内容,但我无法隐藏键盘。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
txtUserName = (EditText)findViewById(R.id.txtUserName);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(txtUserName.getWindowToken(), 0);
}
我的疑问是我需要添加任何touchEvents或keyboardEvents。请帮帮我。
答案 0 :(得分:2)
我在onCreate()
做了这件事并且有所帮助:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
答案 1 :(得分:0)
eidttext.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean arg1) {
// TODO Auto-generated method stub
if (!arg1) {
hideKeyboard();
}
}
private void hideKeyboard() {
// TODO Auto-generated method stub
InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(confpassword
.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
});
答案 2 :(得分:0)
这是我的代码,用于确保键盘永远不会出现在EditText框中。您可以根据自己的情况调整它。
protected void hideKeyboard(EditText et){
et.setKeyListener(null);
}
答案 3 :(得分:0)
您的问题与以下相同,可能会对您有所帮助。
http://3.bp.blogspot.com/-aOmfANlocYI/Tm9gJvI7s1I/AAAAAAAAAEA/yBEfcpoGX4U/s1600/3.JPG
如果真的对你有帮助,那就做对了。
答案 4 :(得分:0)
这将对您有所帮助:
mInputMethodManager.hideSoftInputFromWindow(zipCodeEdt.getWindowToken(), 0);