2012-03-21 20 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 2012-03-21 03:05:08

+0

沒有,但是謝謝你的嘗試 – 2012-03-21 03:12:32

+0

顯示對話框後,嘗試將焦點設置到將自動顯示鍵盤的文本框。 – Pavandroid 2012-03-21 03:43:25

回答

3

嘗試this..write在你的對話框setOnShowListener method.like這是你的警告dialog.show()方法之前...

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); 
     } 
    }); 

我試着用this..it是爲我工作。