2014-10-01 104 views
1

我有一個自定義對話框,其中包含一個EditText。現在,無論何時使用Dialog.show();顯示對話框,EditText立即抓取焦點並顯示軟鍵盤。我試圖把它添加到清單:Android隱藏軟鍵盤與EditText對話框

android:windowSoftInputMode="stateHidden" 

基於這樣的回答:https://stackoverflow.com/a/2611031/3011902

我也試過上的EditText如下:

EditText.setSelected(false); 

和:

LinearLayout hidden = (LinearLayout) loginDialog.findViewById(R.id.hidden); 
hidden.setVisibility(View.INVISIBLE); 
hidden.setFocusable(true); 
hidden.requestFocus(); 
loginDialog.show(); 

我也嘗試在顯示對話框後手動隱藏鍵盤,但是感覺到有點不合法。有沒有簡單的方法可以在選擇對話框的EditText時顯示鍵盤。

回答

2

您可以嘗試重定向焦點到您的自定義對話框內的另一個觀點或只是無形的視圖與添加
android:focusable="true"android:focusableInTouchMode="true"
setFocusable(true)setFocusableInTouchMode(true)

如果您對我的回答任何問題,請隨時在評論中提問!

+0

我製作了一個視圖,並將它的可見性設置爲「無效」。然後將焦點設置到它。但是,每次打開對話框時,鍵盤仍會顯示。 – TastyLemons 2014-10-01 02:35:40

+0

我猜不是設置可見性消失了,您可以將寬度和高度設置爲0dp或1dp,然後將可見性設置爲不可見,因爲如果將其設置爲「無效」,它將真正從佈局中消失,因此無法捕捉焦點 – 2014-10-01 02:40:30

+0

什麼類型是隱形視圖?因爲如果它是EditText,它仍然會顯示鍵盤。 – TastyLemons 2014-10-01 02:45:07