2012-03-21 21 views
0

EditTextフィールドを持つダイアログを表示し、EditTextにデフォルト値をあらかじめ入力し、EditTextですべてを選択し、EditTextにフォーカスを移そうとしています。キーボードが自動的にポップアップします。Androidのダイアログとキーボードを同時に表示する方法

しかし、私がダイアログを表示するとすぐに、キーボードは後退します。最初にダイアログを表示すると、キーボードは表示されません。

私は何をする

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
inputMethodManager.showSoftInput(getView(), 0); 

でキーボードを表示するのですか?

+0

:あなたは次のコードで(あなたのダイアログを仮定すると、デフォルトでそれとして、入力フォーカスをとる)WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IMウィンドウフラグを設定することによって、これを行うことができます。 'は、GetWindow()でsetFlags(ウィンドウマネージャ.LayoutParams.FLAG_ALT_FOCUSABLE_IM、 WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); '、あなたはこれを試すことができます、私はあなたの問題を解決できるかどうかは分かりません。 – idiottiger

+0

いいえ、お試しいただきありがとうございます –

+0

ダイアログを表示した後、キーボードを自動的に表示するテキストボックスにフォーカスを設定してみてください。 – Pavandroid

答えて

3

は私がthis..itが私のために働いていますしてみました...あなたの警報dialog.show()メソッドの前に、このmethod.likeあなたのダイアログsetOnShowListener上this..writeで

Dialogname.setOnShowListener(new OnShowListener() { 

     public void onShow(DialogInterface dialog) { 
      // TODO Auto-generated method stub 
      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); 
     } 
    }); 

を試してみてください。ダイアログ・ガイドから

関連する問題