2012-05-11 3 views
1

私はAndroidアプリケーションの開発では新しいですが、私はiOSでプログラミングに関する知識を持っています。私は昨日Andriodを学び始めました。私はEditTextの外のどこかをクリックするとキーボードを隠したい。しかし、私は、次のされているキーボードを非表示にするコードを、見つけ:Androidでキーボードを隠す

"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

あなたがのEditText以外の場所に行きたい場合は、キーボードが開いている場合は、ボタンを押してバック。そのためにコードを書く必要はありません。 –

答えて

2

私はonCreate()でこれを行なったし、それが助けた:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 
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); 

     } 
    }); 
+0

こんにちは、私は上記のコードスニペットに関する2つの質問があります。 1.どのように私のeidttextにOnFocusChangeListenerを結び付けますか? 2.(具体的に)このコードは私の活動にどこに入りますか?私の活動の中で...アクティビティを拡張した後...どこでどこで? –

+0

2)oncreateメソッド内 – himanshu

+0

私はあなたが提供したコードを与えましたが、それは隠れていません。 「txtUserName.setOnFocusChangeListener(新View.OnFocusChangeListener(){ ます。public void onFocusChange(ビューV、ブールARG1){ 場合(引数1){hideKeyboard();!}} ます。private void hideKeyboard(){ InputMethodManager inputManager =(InputMethodManager )getSystemService(Context.INPUT_METHOD_SERVICE); inputManager.hideSoftInputFromWindow(txtUserName.getWindowToken()、InputMethodManager.HIDE_NOT_ALWAYS);}}));私は上記のコードで何かを逃したのですか? –

0

をここでキーボードがのEditTextボックスのために現れることはありませんを確認することのために私のコードです。あなたはあなたのケースに合わせてそれを適応させることができるかもしれません。

protected void hideKeyboard(EditText et){ 
    et.setKeyListener(null); 
} 
0

これはあなたを助ける:

mInputMethodManager.hideSoftInputFromWindow(zipCodeEdt.getWindowToken(), 0); 
関連する問題