尝试设置AlertDialog但不断收到错误

时间:2014-08-21 18:10:19

标签: java android alertdialog

我试图为用户设置一个警告对话框,以确认你的想法发生了什么,但我不知道如何设置它所以我做了一点环顾四周找到了如何设置但我仍然继续错误

  AlertDialog.Builder builder = new AlertDialog.Builder(settings.this)
.setTitle("hello")
.setButton("OK", new DialogInterface.OnClickListener() {
 //^^^^^^^it keeps telling me "The method setButton(String, new DialogInterface.OnClickListener(){}) is undefined for the type AlertDialog.Builder"

public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "You clicked on OK",Toast.LENGTH_SHORT).show();
                                        }
                                });





}

3 个答案:

答案 0 :(得分:1)

View.OnClickListener()应该实施onClick

SaveAndGoBack.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v)
      {
        AlertDialog.Builder builder = new AlertDialog.Builder(SaveAndGoBack.this).setTitle(...);
        ....
      }
    });

现在,为了访问封闭的Activity,您需要SaveAndGoBack.this(假设SaveAndGoBackActivity的子类。如果它是片段,则需要{{ 1}})。

SaveAndGoBack.getAcitivity()是构建器的一种方法。

答案 1 :(得分:1)

我建议您创建自己的Alert类。它会更容易使用。我的提醒课程如下:

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

public class Alert {

  private Context ctx;

  public Alert(Context ctx) {
    this.ctx = ctx;
  }

  public void show(String str) {
    build(str);
  }

  public void show(int str) {
    build(String.valueOf(str));
  }

  public void close(AlertDialog alert) {
    alert.dismiss();
  }

  private void build(String str) {
    AlertDialog.Builder builder = new AlertDialog.Builder(ctx);

    builder.setMessage(str);

    builder.setCancelable(false);
    builder.setTitle("Info");
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int id) {

      }
    });

    AlertDialog alert = builder.create();
    alert.show();
  }
}

您可以使用此课程,如下所示:

Alert alert = new Alert(SaveAndGoBack.this);
alert.show('bla bla bla');

答案 2 :(得分:0)

 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
              alert.setTitle();

;关闭声明,使用,

请参阅此example