我有AlertDialog
显示EditText
。它已经具有焦点(如其周围的橙色边框所示),但是,我必须单击它以显示软键盘。在显示对话框时,有什么方法可以看到键盘吗?
我的代码是:
final EditText input = new EditText(
PatientRegistrationActivity.this);
input.setLines(1);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
AlertDialog.Builder alt_bld = new AlertDialog.Builder(
PatientRegistrationActivity.this);
alt_bld.setTitle(String.valueOf("Enter Age"));
alt_bld.setView(input);
alt_bld.setPositiveButton("ok",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
if (input.getText().toString() != "") {
Calendar c = Calendar.getInstance();
int yy = c.get(Calendar.YEAR)
- Integer.valueOf(input.getText()
.toString());
DOBTv.setText(c.get(Calendar.DATE) + "/"
+ (c.get(Calendar.MONTH) + 1) + "/"
+ yy);
}
}
});
alt_bld.setNegativeButton("cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
}
});
final AlertDialog alert = alt_bld.create();
alert.show();
alert.getWindow()
.setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
});
答案 0 :(得分:1)
尝试以下代码,这些代码将明确调用软键盘显示在屏幕上。在显示对话框后写下面的代码。
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInputFromInputMethod(your_edit_text.getWindowToken(), 0);