簡體   English   中英

在非活動類中創建Alertdialog

[英]creating alertdialog inside a non activity class

我有一個實現view.onclicklistener的類。 如何從不是活動類的此類創建警報對話框。

我不斷收到這個錯誤。

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

這是我的代碼

class LoginView implements View.OnClickListener {
public void onClick(final View v) {
    new AlertDialog.Builder(v.getContext())
                            .setTitle("Delete entry")
                            .setMessage("Are you sure you want to delete this entry?")
                            .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                    // continue with delete
                                }
                            })
                            .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int which) {
                                    // do nothing
                                }
                            })
                            .setIcon(android.R.drawable.ic_dialog_alert)
                            .show();

像這樣做

 private Handler mHandler = new Handler(Looper.getMainLooper());

 @Override
    public void run() {
       // ...
       mHandler.post(new Runnable() {
          public void run() {
              // Create your AlertDialog Here...
          }
       });
       // ...
     }

在您的課程中嘗試以下方法:

 public static void showAlert(Activity activity) {


    new AlertDialog.Builder(activity)
                        .setTitle("Delete entry")
                        .setMessage("Are you sure you want to delete this entry?")
                        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                // continue with delete
                            }
                        })
                        .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                // do nothing
                            }
                        })
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .show();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM