Java 安卓onclick事件?
我正式发疯了,为什么这不能正常工作。我几乎什么都试过了,但它没有正确地调用onclick事件 这是我在=符号后收到的错误消息Java 安卓onclick事件?,java,android,onclick,onclicklistener,Java,Android,Onclick,Onclicklistener,我正式发疯了,为什么这不能正常工作。我几乎什么都试过了,但它没有正确地调用onclick事件 这是我在=符号后收到的错误消息 The type new DialogInterface.OnClickListener(){} must implement the inherited abstract method DialogInterface.OnClickListener.onClick(DialogInterface, int) 一直告诉我要添加未实现的项目。但我认为它是通过视图v实现的
The type new DialogInterface.OnClickListener(){} must implement the
inherited abstract method
DialogInterface.OnClickListener.onClick(DialogInterface, int)
一直告诉我要添加未实现的项目。但我认为它是通过视图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);
}
}
}
});
mEraserBtn=(ImageView)findViewById(R.id.eraserBtn);
mEraserBtn.setOnClickListener(新OnClickListener){
公共void onClick(视图v){
//TODO自动生成的方法存根
int nBtnID=mEraserBtn.getId();
//如果模式未更改,请打开设置视图。如果模式相同,请关闭设置视图。
如果(nBtnID==mEraserBtn.getId()){
if(mSCanvas.getCanvasMode()==SCanvasConstants.SCANVAS\u MODE\u INPUT\u橡皮擦){
mSCanvas.toggleShowSettingView(SCanvasConstants.SCANVAS_SETTINGVIEW_橡皮擦);
}
否则{
mSCanvas.setCanvasMode(SCanvasConstants.SCANVAS_MODE_INPUT_橡皮擦);
mSCanvas.showSettingView(scanvascants.SCANVAS_SETTINGVIEW_橡皮擦,false);
}
}
}
});
类型new DialogInterface.OnClickListener(){}必须实现
继承抽象方法
DialogInterface.OnClickListener.onClick(DialogInterface,int)
您导入了不正确的OnClickListener
。你的进口必须是
import android.view.View.OnClickListener;
而不是
import android.content.DialogInterface.OnClickListener;
两者都有相同的名字(很容易出错),但它们是不同的。小心。可能您的应用程序中有另一个ClickListener for Dialog,或者您导入了错误的ClickListener,请尝试这样做并测试它是否:
mEraserBtn.setOnClickListener(new android.view.View.OnClickListener){
如果有效,您需要像前面提到的那样组织您的导入。回答您自己的问题,以备将来参考,如果其他人遇到同样的问题。谢谢,我知道有点问题,只是无法解决。@RichTalcik欢迎您。若这个答案对其他开发者有效,那个么接受这个答案作为有效答案:)thnaks