setOnClickListener(Ver.OnClickListener) en el tipo de Vista no es aplicable para los argumentos (SequencerActivity) de la espalda.setOnClickListener(this);

Quiero mostrar una imagen en el botón de clic, pero tengo tres errores en mi código. Qué tiene de malo?

  1. class name "SequencerActivity"

    El tipo SequencerActivity debe implementar la abstractos heredados método DialogInterface.OnClickListener.onClick(DialogInterface, int).

  2. next.setOnClickListener(this);

    El método setOnClickListener(View.OnClickListener) en el tipo de Vista no es aplicable para los argumentos (SequencerActivity).

  3. onClick(View v)

El método onClick(View) de tipo SequencerActivity debe anular o implementar un supertipo método.

Aquí está el código, dando a los errores:

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);

}

}
  • marca respondidas por favor. darune es totalmente correcta (en mi caso al menos)
InformationsquelleAutor atul yadav | 2011-05-20

7 Kommentare

  1. 41

    La OnClickListener que implemente no es correcto,
    intentar poner en práctica la Vista.OnClickListener y no DialogInterface.OnClickListener.

    Se puede ver que en su importación

    import View.OnClickListener

    lugar de

    import DialogInterface.OnClickListener

    • Gracias, me estaba volviendo loco.
  2. 14

    necesita importar import android.view.View.OnClickListener;

    Por lo tanto el código parecer

    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
        }
    }
  3. 10

    Todavía no son capaces de resolver el tipo de error import View.OnClickListener;, a continuación, mueva el cursor en la Vista en import View.OnClickListener; abrirá un pop-up, a continuación, elija la organización de las importaciones opción.

    De usar, simplemente import View.OnClickListener; en la parte superior.

  4. 3

    La OnClickListener se está implementando es el equivocado. Se dice que es DialogInterface.OnClickListener, mientras que usted probablemente querrá View.OnClickListener. Usted puede corregir que en el correspondiente import declaración.

  5. 2

    Acaba de hacer sólo Una cosa. El uso de «import android.vista.Vista.OnClickListener» declaración » en la parte superior del programa.

  6. 1

    Hacer una cosa

    quitar import android.contenido.DialogInterface.OnClickListener;
    y de importación
    android.Vista.Vista.OnClickListener

    que esto va a resolver el problema

    Feliz Codificación

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea