後,我用下面的代碼來說明鍵盤按HOME鍵鍵盤不能隱藏
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
InputMethodManager.HIDE_IMPLICIT_ONLY);
我用下面的代碼隱藏鍵盤getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
隱藏鍵盤,並
也試過這個
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
但按下home鍵後。應用程序關閉,但鍵盤在屏幕上保持不變。
請指導我。我究竟做錯了什麼?
我已經把我的隱藏代碼。 我把皮草放在onDestroy()
,onBackPressed()
和onOptionsItemSelected(MenuItem item)
對不起對我的代碼格式。
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout);
textTv=(EditText)findViewById(R.id.textview1);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
InputMethodManager.HIDE_IMPLICIT_ONLY);
if(getIntent().getExtras()!=null)
{
Bundle extra=getIntent().getExtras();
if(extra!=null)
{
// code
}
}
}
public void onBackPressed() {
// TODO Auto-generated method stub
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(noteTv.getWindowToken(), 0);
}
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
switch (item.getItemId()) {
case R.id.menu1:
//code
break;
case R.id.menu2:
//code
break;
}
您已使用所有可能的情況下,每個人都將工作,如果你的意思是有可能會在你的代碼中的一些問題,它不工作,所以向我們展示隱藏鍵盤的代碼。 – Pragnani 2013-03-16 09:01:37
我已經在'onCreate()'方法中顯示代碼並將代碼隱藏到'onBackPressed()'中正常工作。但是當我按下home鍵時顯示鍵盤沒有隱藏。 @Pragnani – PSK 2013-03-16 09:05:40
我已經把隱藏代碼放在我不隱藏鍵盤的地方。 @Pragnani – PSK 2013-03-16 09:13:16