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 の Galaxy gio ではそうではありません..

何かご意見は?

4

1 に答える 1

0

これは、次のようにマニフェストで試すのに役立つ場合があります

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