0
我有一个alertdialog,我表明,当用户点击了一个按钮:键盘没有出现自动
public class CommentDialog {
public static void buildDialog(final Context context,
final String identifier, Boolean automaticKeyboard,
final int idToUpdate) {
AlertDialog.Builder alert = new AlertDialog.Builder(context);
alert.setIcon(ViewBuilder.getDrawableFromDB("text.png"));
alert.setTitle("Commentaar");
// Edittext configuration//
final EditText input = new EditText(context);
String currentComment = EnteredValues.getInstance()
.getValueForIdentifier(identifier);
if (currentComment != null) {
input.setText(currentComment);
input.setSelection(currentComment.length());
}
input.setHint("Gelieve uw commentaar in te voeren.");
Display display = ((WindowManager) context
.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
input.setMinimumWidth(width);
input.setMaxLines(3);
input.setImeOptions(EditorInfo.IME_ACTION_DONE);
input.setFocusableInTouchMode(true);
input.requestFocus();
final InputMethodManager inputMethodManager = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(input,
InputMethodManager.SHOW_IMPLICIT);
// Add edittext to dialog
alert.setView(input);
// Set actions of dialog
alert.setPositiveButton("Bewaren",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText().toString();
EnteredValues.getInstance().addValue(identifier, value);
View v = ShowScreenActivity.mActivity
.findViewById(idToUpdate);
EditText e = ((EditText) v);
e.setText(value);
e.setSelection(e.getText().length());
return;
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alert.show();
}
}
我已经试过几件事情,但键盘不会自动显示出来。 它似乎也取决于设备以及与蜂窝星系标签10.1,键盘显示。但与银河gio 2.3.6它不..
任何想法?
你试图使用SHOW_FORCE?它的屏幕尺寸/设备特定和'android:imeOptions'(带有flagNoFullscreen),可能你应该保持原样,因为系统对话框(例如wifi连接)可能表现相同。 – sandrstar