2013-10-25 2 views
0

Потому что это promptView, а не Activity, я не могу перейти в Manifest, чтобы скрыть клавиатуру. Я искал в Google, и я нашел похожие темы, но я не могу понять, как это сделать.Android AlertDialog (promptview) hide Keyboard

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: не удается запустить Activity 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

Не работает. – user2902515