setOnClickListener(View.OnClickListener)typesView中不适用的参数(SequencerActivity)back.setOnClickListener(this);

我想在button上单击显示图像,但是在我的代码中有三个错误。 怎么了?

  1. class name "SequencerActivity" 

    SequencerActivitytypes必须实现inheritance的抽象方法DialogInterface.OnClickListener.onClick(DialogInterface, int)

  2.  next.setOnClickListener(this); 

    Viewtypes中的setOnClickListener(View.OnClickListener)方法不适用于参数(SequencerActivity)

  3.  onClick(View v) 

SequencerActivitytypes的onClick(View)方法必须覆盖或实现超types方法。

这里是给出这些错误的代码:

 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) findViewById(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); } } 

Solutions Collecting From Web of "setOnClickListener(View.OnClickListener)typesView中不适用的参数(SequencerActivity)back.setOnClickListener(this);"

您实现的OnClickListener不正确,请尝试实现View.OnClickListener而不是DialogInterface.OnClickListener。

你可以在你的导入中看到

import View.OnClickListener

代替

import DialogInterface.OnClickListener

你需要导入import android.view.View.OnClickListener; 所以你的代码看起来像

 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 } } 

仍然无法解决错误typesimport View.OnClickListener; 然后将光标移动到import View.OnClickListener;的View中import View.OnClickListener; 它会打开popup,然后select组织导入选项。

使用简单的import View.OnClickListener; 在顶部。

你正在执行的OnClickListener是错误的。 它说它是DialogInterface.OnClickListener ,而你可能想要View.OnClickListener 。 您可以在相应的import语句中进行更正。

只做一件事。 在程序的顶部使用“import android.view.View.OnClickListener”语句。

实现View.view.onClickListener