我无法使此按钮有效:
public void setConfirmListenner(OnClickListener listener) {
((Button) this.contentView.findViewById(R.id.confirmButton)).setOnClickListener(listener);
}
错误:(296,85)错误:不兼容的类型: android.content.DialogInterface.OnClickListener无法转换为 android.view.View.OnClickListener
答案 0 :(得分:0)
您必须阅读错误说明的内容:View.OnClickListener
和DialogInterface.OnClickListener
是不同的接口。一个明显的解决方法是将field
的签名更改为
addChild: function(field) {
field.childs.push({});
}
如果这不是逻辑上发生的事情,那么setConfirmListenner
实际上是继承自DialogInterface
的类,看起来似乎很合理,你需要创建一个包装器。这样的事可能会奏效:
public void setConfirmListenner(View.OnClickListener listener) {
其中 setConfirmListenner
是自定义对话框类的名称。我假设您希望将BUTTON_POSITIVE
作为public void setConfirmListenner(final OnClickListener listener) {
((Button) this.contentView.findViewById(R.id.confirmButton)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onClick(MyDialogClass.this, BUTTON_POSITIVE);
}
});
}
传递,但如果更适合您,您可能会传递其他内容。