2

我正式为为什么这不能正常工作而发疯。我已经尝试了几乎所有东西,但它没有正确调用 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);
                        }
                    }   
                }
                });
4

2 回答 2

3

类型 new DialogInterface.OnClickListener(){} 必须实现继承的抽象方法 DialogInterface.OnClickListener.onClick(DialogInterface, int)

您导入了不正确OnClickListener的 . 您的导入必须是

import android.view.View.OnClickListener;

并不是

import android.content.DialogInterface.OnClickListener;

两者具有相同的名称(容易犯错误),但它们是不同的。当心。

于 2013-03-25T22:47:01.060 回答
0

可能您的应用程序中有另一个 ClickListener for Dialog,或者您正在导入错误的 ClickListener,请尝试这样做并测试是否是:

         mEraserBtn.setOnClickListener(new android.view.View.OnClickListener){

如果它有效,您需要按照前面提到的方式组织您的导入

于 2013-03-25T22:47:39.807 回答