2013-10-25 216 views
0

因爲它是一個promptView而不是一個Activity,我不能去Manifest來隱藏鍵盤。 我搜索了谷歌周圍,我發現類似的主題,但我無法弄清楚如何把這個工作。Android AlertDialog(promptview)隱藏鍵盤

LayoutInflater li = LayoutInflater.from(this); 
View promptsView = li.inflate(R.layout.prompt_firstime, null); 

final EditText nameInput = (EditText) promptsView.findViewById(R.id.prompt_name); 
final EditText emailInput = (EditText) promptsView.findViewById(R.id.prompt_email); 

InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
inputManager.hideSoftInputFromWindow(nameInput.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY); 
inputManager.hideSoftInputFromWindow(emailInput.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY); 

AlertDialog alertDialog = new AlertDialog.Builder(Menu.this).create(); 
alertDialog.setTitle("Title"); 
alertDialog.setView(promptsView); 
// etc 

我在做什麼錯了?謝謝。

回答

0

試試這個,它可能會解決你的問題。

your_activityName.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 
+0

NOP。它繼續顯示鍵盤:| – user2902515

0

試試這個方法,只是通過你的活動範圍內,同時呼籲

public static void hidekeypad(Activity activity) 
    { 
     @SuppressWarnings("static-access") 
     InputMethodManager imm = (InputMethodManager) activity.getSystemService(activity.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); 
    } 
+0

我應該如何調用該功能? 'hidekeypad(this)',如果是這樣,我得到錯誤。 '10-25 09:08:14.470:E/AndroidRuntime(2777):java.lang.RuntimeException:無法啓動活動ComponentInfo {com.example.testing/com.example.testing.Menu_activity}:java.lang.NullPointerException' 我在@oncreate方法上調用了函數。 – user2902515

+0

郵政編碼你是怎麼試過的? –

0

請嘗試以下..它的工作在我的情況:)

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
       imm.hideSoftInputFromWindow(your_edit_text.getWindowToken(), 0); 
+0

Doens't工作。 – user2902515