尝试创建自定义对话框

时间:2013-11-23 15:49:46

标签: android

我正在尝试创建自定义对话框。我遇到了2个编译错误,并没有真正理解为什么。

  1. 类型视图中的方法SetOnClickListner不适用于参数new OnClikLiatner 代码:
  2. 新类型OnClickListener中的点击视图上的方法必须覆盖超类型
  3. 代码给出错误:

    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();
    
    
           }
    }
    

1 个答案:

答案 0 :(得分:0)

首先在顶部

定义
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 );

                final Dialog dialog = new Dialog(context);