1

いくつかのボタンのOnclickイベントでいくつかのスピナーコントロールを確認したいと思います(ユーザーがアクティビティから離れた場合)。1つ以上が入力されていない場合は、2つのオプションを含む警告メッセージをユーザーに表示します。

@Override
public void onClick(View v) {

    int i1 = spinner1.getSelectedItemPosition();
        (..)

    if ((i1 == 0) | (i2 == 0) | (i3 == 0) | (i4 == 0) | (i5 == 0)) {
        AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
        alertbox.setMessage("Answers missing, what do you want to do?");
        final CharSequence[] items = {
                "Oops.. let me fix that…",
                "I want to leave the app now" };
        alertbox.setTitle("Pick an item");
        alertbox.setItems(items, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                if (item == 1) {
                                        finish();
                                      // should lead back to the spinner controls on the page

                }else if (item == 2){
                    finish();
                android.os.Process.killProcess(android.os.Process
                            .myPid());
                }
            }
        }).create();
        alertbox.show();

ただし、タイトルが付いた空のボックスが表示されますが、setMessage()で設定されたメッセージが表示されず、選択するリスト項目がありません。ボックスは空です。それを修正するために私ができることはありますか?

4

1 に答える 1

10

同じ問題が発生していますが、.setMessage行を削除すると、リストにタイトルが表示されることがわかりました。なぜこれなのかわからない。.setpositiveボタン、.negativeなどを使用すると、メッセージを表示できます。また、グーグルの例はすべて、アイテムリストで.setMessageを使用していないことに気づきました。.setTitleのみを使用しますが、これはそれほど多くのスペースを提供しません。
したがって、これは長いメッセージが必要な場合には役立ちませんが、それが主な目標である場合はリストが表示されます。

于 2012-07-04T22:59:03.817 に答える