我有以下代码,我认为应该在显示警告对话框时强制键盘显示。
public void showTypeBox(){
edit = new EditText(this);
edit.setPadding(10, 0, 0, 10);
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("Type word to search for:")
.setPositiveButton("Search", Main.this)
.setNegativeButton("Cancel", null)
.setView(edit)
.setIcon(R.drawable.menu_icon)
.create();
dialog.show();
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(edit, InputMethodManager.SHOW_IMPLICIT);
}
我无法看到我在这里做错了什么。
答案 0 :(得分:5)
您试图在EditText
布局且可见之前显示键盘。试试这个:
Handler delayedRun = new Handler();
delayedRun.post(new Runnable() {
@Override
public void run() {
edit.requestFocus();
InputMethodManager mgr = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(addressBox, InputMethodManager.SHOW_IMPLICIT);
}
});