我正在尝试创建一个自定义对话框,但是当我调用OnClickListener
并且它作为参数传入OnClickListener()
类时,我收到错误。错误是
The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (new OnClickListener(){})
它也说错误消息类型视图,不应该是Button
,这可能是问题吗?
码
// error message on line below
Button dialogButton = (Button) dialog.findViewById(R.id.action_settings);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
答案 0 :(得分:2)
我猜你导入错误
确保你有
import android.view.View.OnClickListener;
你也说
but I'm getting errors when I call setOnClickListener and itpass in a OnClickListener() class as the parameter.
您需要实现OnClickListener
接口。你使用一个匿名的内部类。
您可以执行以下操作
dialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
示例:
答案 1 :(得分:0)
考虑到不是在活动中实现onClick方法,而是可以在定义按钮的xml布局上使用android:onClick属性。
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/self_destruct"
android:onClick="doSomething" />
然后在活动中实现doSomething方法:
public void doSomething(View view) {
// Kabloey
}
更多详情: