这是我的代码
protected void markerTouched(Marker marker) {
final Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.custom_dialog);
dialog.setCanceledOnTouchOutside(true);
dialog.show();
Button declineButton = (Button) dialog.findViewById(R.id.b_close);
// if decline button is clicked, close the custom dialog
declineButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// Close dialog
dialog.dismiss();
}
});
}
我在这一行中发现了一个错误:
declineButton.setOnClickListener(new OnClickListener()
setOnClickListner
上的错误:
类型View中的方法setOnClickListener(View.OnClickListener)不适用于参数(new DialogInterface.OnClickListener(){})
和OnClickListener
()中的其他人:
有人可以解释我要做什么吗?新的DialogInterface.OnClickListener(){}类型必须实现继承的抽象方法DialogInterface.OnClickListener.onClick(DialogInterface,int)
答案 0 :(得分:2)
试试这个:
dialog = new Dialog(this);
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("Custom Dialog");
Button dialog_btn = (Button) dialog.findViewById(R.id.dialog_button);
dialog_btn.setOnClickListener(new View.OnClickListener()
{
// Perform button logic
}
这很重要:
dialog_btn.setOnClickListener(new View.OnClickListener()
<强> View.OnClcikListener 强>
希望这有帮助。
答案 1 :(得分:1)
你导入错误。由于您为按钮设置onClickListener
,因此您需要View.OnClickListener
,但导入为DialogInterface.OnClickListener
答案 2 :(得分:0)
请尝试
declineButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});