当用户单击按钮时,我会显示一个警报对话框:
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();
}
}
我已经尝试了几件事,但键盘没有自动显示。它似乎也取决于设备,带有蜂窝的 Galaxy Tab 10.1,键盘出现了。但是对于 2.3.6 上的星系 gio,它不会..
有什么想法吗?