我正在疯狂地说为什么这不能正常工作。我已经尝试了很多东西,但它没有正确地调用onclick事件?
这是我在=符号
后得到的错误消息The type new DialogInterface.OnClickListener(){} must implement the
inherited abstract method
DialogInterface.OnClickListener.onClick(DialogInterface, int)
并一直告诉我添加未实现的项目。但我认为它是用View v
?
任何人都可以帮助我理解为什么这不能正常工作吗?
即使我在开始时实现了onclick监听器,它仍然无法正常工作?我很困惑?
<ImageView
android:id="@+id/eraserBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dip"
android:layout_weight="1"
android:background="@drawable/selector_tool_bg"
android:src="@drawable/eraser" />
mEraserBtn = (ImageView) findViewById(R.id.eraserBtn);
mEraserBtn.setOnClickListener(new OnClickListener){
public void onClick(View v) {
// TODO Auto-generated method stub
int nBtnID = mEraserBtn.getId();
// If the mode is not changed, open the setting view. If the mode is same, close the setting view.
if(nBtnID == mEraserBtn.getId()){
if(mSCanvas.getCanvasMode()==SCanvasConstants.SCANVAS_MODE_INPUT_ERASER){
mSCanvas.toggleShowSettingView(SCanvasConstants.SCANVAS_SETTINGVIEW_ERASER);
}
else{
mSCanvas.setCanvasMode(SCanvasConstants.SCANVAS_MODE_INPUT_ERASER);
mSCanvas.showSettingView(SCanvasConstants.SCANVAS_SETTINGVIEW_ERASER, false);
}
}
}
});
答案 0 :(得分:3)
新的DialogInterface.OnClickListener(){}类型必须实现 继承抽象方法 DialogInterface.OnClickListener.onClick(DialogInterface,int)
您导入了错误的OnClickListener
。您的导入必须是
import android.view.View.OnClickListener;
而不是
import android.content.DialogInterface.OnClickListener;
两者都有相同的名称(容易出错),但它们不同。小心。
答案 1 :(得分:0)
您的应用程序中可能还有另一个ClickL的ClickListener,或者您导入了错误的ClickListener,尝试这样做并测试它是否是:
mEraserBtn.setOnClickListener(new android.view.View.OnClickListener){
如果有效,您需要按照之前的说明组织进口