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

タイプnewDialogInterface.OnClickListener(){}は、継承された抽象メソッドDialogInterface.OnClickListener.onClick(DialogInterface、int)を実装する必要があります

間違ってインポートしOnClickListenerました。インポートは

import android.view.View.OnClickListener;

ではなく

import android.content.DialogInterface.OnClickListener;

どちらも同じ名前(間違えやすい)ですが、違います。気をつけて。

于 2013-03-25T22:47:01.060 に答える
0

アプリケーションに別のClickListenerforDialogがあるか、間違ったClickListenerをインポートしている可能性があります。それを実行して、それが正しいかどうかをテストしてください。

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

それが機能する場合は、前述のようにインポートを整理する必要があります

于 2013-03-25T22:47:39.807 に答える