Android 正在尝试创建自定义对话框

Android 正在尝试创建自定义对话框,android,Android,我正在尝试创建一个自定义对话框。我有两个编译错误,我真的不明白为什么 类型视图中的方法SetOnClickListner不适用于参数new OnClickLiatner 代码: 类型new OnClickListener中单击视图时的方法必须重写超类型 给出错误的代码: dialogButton.setOnClickListener(new OnClickListener() { // error message 1 here @Override

我正在尝试创建一个自定义对话框。我有两个编译错误,我真的不明白为什么

  • 类型视图中的方法SetOnClickListner不适用于参数new OnClickLiatner 代码:
  • 类型new OnClickListener中单击视图时的方法必须重写超类型
  • 给出错误的代码:

    dialogButton.setOnClickListener(new OnClickListener() { // error message 1 here
                            @Override
                            public void onClick(View v) { // error message 2 here
                                dialog.dismiss();
                            }
                        });
    
    所有代码

     void StartGame()
           {
            // custom dialog
                        final Dialog dialog = new Dialog( cGlobals.MainHome );
                        dialog.setContentView(R.layout.activity_start_play);
                        dialog.setTitle("Title...");
    
                        // set the custom dialog components - text, image and button
                        TextView text = (TextView) dialog.findViewById(R.id.text);
                        text.setText("Android custom dialog example!");
                //      ImageView image = (ImageView) dialog.findViewById(R.id.image);
                //      image.setImageResource(R.drawable.ic_launcher);
    
                        Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
                        // if button is clicked, close the custom dialog
                        dialogButton.setOnClickListener(new OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                dialog.dismiss();
                            }
                        });
    
                        dialog.show();
    
    
           }
    }
    

    首先在顶部定义它

    final Context context = this;
    
    然后改变

    dialogButton.setOnClickListener(new OnClickListener() { // error message 1 hear
                            @Override
                            public void onClick(View v) { // error message 2 hear
                                dialog.dismiss();
                            }
                        });
    
    为此:

    dialogButton.setOnClickListener(new View.OnClickListener() {
    
                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                    dialog.dismiss();   
                    }
                });
    
    还有这个

                    final Dialog dialog = new Dialog( cGlobals.MainHome );
    


    您好,谢谢,您能解释一下修复方法吗?欢迎,您看到的第一个更改,您错过了视图。您应该声明要将侦听器放置在何处?第二,我不确定你的cGlobals.MainHome是什么,但是当你创建新的东西时,你应该总是在当前活动中创建它,我们用上下文替换它(这个)
                    final Dialog dialog = new Dialog(context);