开发者

setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (SequencerActivity) back.setOnClickListener(this);

I want to display an image on button click, but I have three errors in my code. What's wrong?

  1. class name "SequencerActivity"
    

    The type SequencerActivity must implement the inherited abstract method DialogInterface.OnClickListener.onClick(DialogInterface, int).

  2. next.setOnClickListener(this);
    

    The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (SequencerActivity).

  3. onClick(View v)
    

The method onClick(View) of type SequencerActivity must override or implement a supertype method.

Here's the code giving those errors:

public class SequencerActivity extends Activity implements OnClickListener
{
private int imageCounter = 0;
private ImageView imageLoader;

private int[] imageList = {R.drawable.f03, R.drawable.f04, R.drawable.f05, R.drawable.f06};

@Override
public void onCreate(Bundle savedInstanceState) 
{
    setContentView(R.layout.main);//this one is the common parent layout for all image views
    super.onCreate(savedInstanceState);

    /*requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);*/

    //int image1 = R.drawable.image_w_lbl_0;

    imageLoader = (ImageView) f开发者_StackOverflow社区indViewById(R.id.imageLoader);
    //imageLoader.setImageResource(image1);

    Button next = (Button) findViewById(R.id.next);
    Button back = (Button) findViewById(R.id.back);
    next.setOnClickListener(this);
    back.setOnClickListener(this);
    back.setEnabled(false);
    //show the default image
    this.loadImage(imageList[imageCounter]);

}
@Override
public void onClick(View v) 
{
    int imagePath = 0;
    // TODO Auto-generated method stub
    switch (v.getId())
    {
    case R.id.next:
        Log.i("Tag","tag");
        if(imageCounter < imageList.length)
        {
            imageCounter++;
            imagePath = imageList[imageCounter];
            if (imageCounter==(imageList.length)-1)
            {
                { 
                    ImageButton next=(ImageButton)findViewById(R.id.next); 
                    next.setEnabled(false); 
                }
            }
            else
            {
                ImageButton back=(ImageButton)findViewById(R.id.back); 
                back.setEnabled(true); 
            }
        }
        break;
    case R.id.back:
        if(imageCounter > 0)
        {
            imageCounter--;
            imagePath = imageList[imageCounter];
            if (imageCounter==0) 
            { 
                ImageButton back=(ImageButton)findViewById(R.id.back); 
                back.setEnabled(false); 
            }
            else
            {
                ImageButton next=(ImageButton)findViewById(R.id.next); 
                next.setEnabled(true);
            }
        }
        break;
    }
    this.loadImage(imagePath);

}

private void loadImage(int imagePath)
{
    imageLoader.setImageResource(imagePath);

}

}


The OnClickListener that you implement is not correct, try to implement View.OnClickListener and not DialogInterface.OnClickListener.

You can see that in your import

import View.OnClickListener

instead of

import DialogInterface.OnClickListener


you need to import import android.view.View.OnClickListener; So your code look like

import android.view.View.OnClickListener;
public class MainActivity extends Activity implements OnClickListener{
  // Your oncreate() and rest of all code
}
// you should have method as below
@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

    if(v.getId() == R.id.editText1) // just for instance 
    {
        .. your onclick handle code
    }
}


Still you are not able to resolve the error type import View.OnClickListener; then move the cursor on the View in import View.OnClickListener; It will open up pop-up then choose the Organize imports option.

Use simply import View.OnClickListener; at the top.


The OnClickListener you're implementing is the wrong one. It says it's DialogInterface.OnClickListener, while you probably want View.OnClickListener. You can correct that in the corresponding import statement.


Just do only One thing. Use "import android.view.View.OnClickListener" statement at the top of the program.


Do one thing

remove import android.content.DialogInterface.OnClickListener; and import android.View.View.OnClickListener

this will solve the problem

Happy Coding


Implement View.view.onClickListener

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜