0

当用户单击按钮时,我会显示一个警报对话框:

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,它不会..

有什么想法吗?

4

1 回答 1

0

这可能会帮助您在 Manifest 中尝试

  <activity
            android:name=".YourActivity"
           android:windowSoftInputMode="stateHidden"> </activity>
于 2012-09-21T12:55:09.857 回答