3

私は Android アプリケーションを開発していますが、次の質問があります。

ユーザーがオプションからオプションを選択するまで実行を待機させるにはどうすればよいAlertDialogですか?

これは私のコードです:

    if (mPerson== null)
    {
        mPerson = new Person();
        AlertDialog dialog = null;
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage(getString(R.string.dialog_message_select))
        .setTitle(getString(R.string.dialog_title_attention));
        builder.setPositiveButton(R.string.male, new DialogInterface.OnClickListener()
        {
            public void onClick(DialogInterface dialog, int id)
            {
                mPerson.setGender(Gender.male);
                dialog.dismiss();
            }
        });
        builder.setNegativeButton(R.string.female, new DialogInterface.OnClickListener()
        {

            @Override
            public void onClick(DialogInterface dialog, int arg1)
            {
                mPerson.setGender(Gender.female);
                dialog.dismiss();
            }
        });

        dialog = builder.create();
        dialog.show();
    }

    // TODO: Show data.

    getWidgetsRefereces();
    customizeLayout();

    loadSpinnerValues();

これを実行する必要がある後dialog.dismiss():

    // TODO: Show data.

    getWidgetsRefereces();
    customizeLayout();

    loadSpinnerValues();
4

3 に答える 3

1

以下をせよ:

 AlertDialog dialog = null;
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage(getString(R.string.dialog_message_select))
    .setTitle(getString(R.string.dialog_title_attention));
    builder.setPositiveButton(R.string.male, new DialogInterface.OnClickListener()
    {
        public void onClick(DialogInterface dialog, int id)
        {
            mPerson.setGender(Gender.male);
            dialog.dismiss();
            postSelection();
        }
    });
    builder.setNegativeButton(R.string.female, new DialogInterface.OnClickListener()
    {

        @Override
        public void onClick(DialogInterface dialog, int arg1)
        {
            mPerson.setGender(Gender.female);
            dialog.dismiss();
            postSelection(); 
        }
    });

    dialog = builder.create();
    dialog.show();
}

選択が完了したら、このメソッドを呼び出します。

public void postSelection(){
getWidgetsRefereces();
customizeLayout();
 loadSpinnerValues();
}
于 2013-07-03T10:35:45.400 に答える