实现自定义对话框

mas*_*mic 0 android dialog

我正在实现一个自定义对话框,但在活动中,我遇到了麻烦.这是代码:

public class MainActivity extends Activity {

private Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    button = (Button) findViewById(R.id.buttonDialog);

    /*Add button listener*/
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            /*Custom dialog*/
            final Dialog dialog = new Dialog(this);
            dialog.setTitle("Cerrar App");
            dialog.setContentView(R.layout.custom_dialog);

        //...
Run Code Online (Sandbox Code Playgroud)

在行中final Dialog dialog = new Dialog(this);它给我一个错误,上面写着:构造函数Dialog(new View.OnClickListener(){})是未定义的.

我做错了什么?

Bla*_*elt 6

更改

final Dialog dialog = new Dialog(this);
Run Code Online (Sandbox Code Playgroud)

final Dialog dialog = new Dialog(MainActivity.this);
Run Code Online (Sandbox Code Playgroud)

在你的情况下,这指的是内在的 onClickListener

  • this(关键字)指的是对象本身.在你的情况下,这是指"new OnClickListener()"对象,因为Dialog的构造函数的参数是Context而不是View.OnClickListener,你会得到错误 (2认同)