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