所以我有一个菜单项,其中显示带有 EditText
的 AlertDialog
,问题是,尽管它已聚焦,但软键盘不会显示,直到我单击 edittext ,有人有解决办法吗?我试过了
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);
但是它不起作用。这是我的代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return (applyMenuChoice(item) || super.onOptionsItemSelected(item));
}
private boolean applyMenuChoice(MenuItem item) {
switch (item.getItemId()) {
case SEARCH:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText input = new EditText(this);
input.setMinimumWidth(300);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
alert.setView(input);
alert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
String value = input.getText().toString().trim();
Toast.makeText(getApplicationContext(), value,
Toast.LENGTH_SHORT).show();
}
});
alert.show();
return (true);
case DELETE:
getListView().setAdapter(null);
return (true);
}
return (false);
}
最佳答案
试试这个代码,
打开
ettext.requestFocus();
ettext.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(ettext, 0);
}
},200);
关于android - 软键盘未显示在 AlertDialog 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7378043/