Android: show soft keyboard automatically when focus is on an EditText安卓:對話框顯示軟鍵盤時自動對焦是一個EditText沒有工作
我讀過這篇文章,可以自動顯示虛擬鍵盤時,將顯示一個對話框。但是,它不適合我。任何想法爲什麼?儘管在出現對話框時編輯文本自動聚焦,但事件不會觸發。我也讀過onpostresume答案,但我不知道如何應用它。任何幫助表示讚賞。
final Dialog dialog = new Dialog(ThesisI.this);
dialog.setContentView(R.layout.budget_dialog);
final EditText et = (EditText) dialog.findViewById(R.id.textComments);
final Button enter = (Button) dialog.findViewById(R.id.buttonEnter);
final Button cancel = (Button) dialog.findViewById(R.id.buttonCancel);
enter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
/**cancel */
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
dialog.show();
et.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
但是,我注意到,如果我改變焦點到按鈕,然後再次重點編輯文本。這個事件的作品,使用下面的代碼。
et.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
InputMethodManager inputMgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMgr.toggleSoftInput(0, 0);
}
}
});
有關如何應用它的任何想法?
只是後(),就足以讓我來說,這顯然是踢它在視圖變爲可見之後到隊列的後面。我通常對魔法值和任意延遲非常謹慎。 – EboMike 2014-12-30 07:34:08