0

問題が発生しました。アラート ダイアログのクラスを作成しました。誰かが [OK] を押すと、前のアクティビティに戻るはずですが、finsih(); を入力すると、これを行う方法がわかりません。エラーが表示されます ここに私のコードがあります:

package com.laurenswuyts.find.it;

import com.laurenswuyts.find.it.R;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;



public class AlertDialogManager {
    /**
     * Function to display simple Alert Dialog
     * @param context - application context
     * @param title - alert dialog title
     * @param message - alert message
     * @param status - success/failure (used to set icon)
     *               - pass null if you don't want icon
     * */
    @SuppressWarnings("deprecation")
    public void showAlertDialog(Context context, String title, String message,
            Boolean status) {
        AlertDialog alertDialog = new AlertDialog.Builder(context).create();

        // Setting Dialog Title
        alertDialog.setTitle(title);

        // Setting Dialog Message
        alertDialog.setMessage(message);

        if(status != null)
            // Setting alert dialog icon
            alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);

        // Setting OK Button
        alertDialog.setButton("OK", new DialogInterface.OnClickListener() {

            public void onClick(final DialogInterface dialog, final int which) {

            }





        });

        // Showing Alert Message
        alertDialog.show();
    }
}

public void Onclick で、finish(); と入力しようとしました。しかし、それはうまくいきませんでした。

誰でも私を助けることができますか?前もって感謝します!

よろしく、

4

2 に答える 2

1

マネージャにプロパティを追加する必要があります。

Context context;

メソッドで初期化しますshowAlertDialog()

あなたのクリックの下で;

((Activity) context).finish();
于 2013-11-04T22:53:19.457 に答える
0

呼び出し元のアクティビティからクリック リスナーを渡すことができます。

DialogInterface.OnClickListener clickListener = new DialogInterface.OnClickListener() {
        public void onClick(final DialogInterface dialog, final int which) {
            finish();
        }
    });
AlertDialogManager manager = new AlertDialogManager();
manager.showAlertDialog(this, title, message, status, clickListener);

次に、 でAlertDialogManager、次のようにメソッドを変更します。

public void showAlertDialog(Context context, String title, String message,
        Boolean status, DialogInterface.OnClickListener clickListener) {
    AlertDialog alertDialog = new AlertDialog.Builder(context).create();

    // Setting Dialog Title
    alertDialog.setTitle(title);

    // Setting Dialog Message
    alertDialog.setMessage(message);

    if(status != null)
        // Setting alert dialog icon
        alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);

    // Setting OK Button
    alertDialog.setButton("OK", clickListener);

    // Showing Alert Message
    alertDialog.show();
}

このように、クリックの動作は呼び出し元のクラスによって処理され、[ AlertDialogManagerOK] をクリックした後に何が起こるかはわかりません。

于 2013-11-04T22:53:35.263 に答える