ソフトウェアキーボードの表示、非表示

ソフトウェアキーボードの表示/非表示が自動では行われなかったので下記を実装。

EditTextにフォーカスがあたった場合に、ソフトウェアキーボードを表示して
EditTextからフォーカスがはずれた場合に、ソフトウェアキーボードを非表示にする


nodeAddText = new EditText(this);
nodeAddText.setOnFocusChangeListener(new View.OnFocusChangeListener(){
 @Override
  public void onFocusChange(View v, boolean flag){

    //フォーカスが外れた場合、ソフトウェアキーボードを非表示
   if(flag == false){
    final InputMethodManager imm = 
    (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(v.getWindowToken(),0);

   } else {

    //フォーカスを取得した場合、ソフトウェアキーボードを表示
    final InputMethodManager imm = 
    (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(v,0);
   }
  }

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です