2010-08-17 15 views
8

utilicé dos botones de imagen para Siguiente y Atrás y utilicé el evento onclick para esos botones Quiero que botón de imagen se encienda onclick y ejecute una función particular para el siguiente o de nuevo en evento onclick cómo obtendré qué imagen button fire o onclick event en tiempo de ejecuciónonclick listener en android

Respuesta

11

Puede usar clases internas anónimas para escribir una función onClick para cada botón.

Button button1 = getMyButton(); 
button1.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     // button 1 was clicked! 
    } 
    }); 
Button button2 = getMyButton(); 
button2.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     // button 2 was clicked! 
    } 
    }); 

Como mencionó Konstantin, también puede usar el aprobado en la Vista y activar la identificación. Sin embargo, me parece un poco más desordenado si terminas con muchas cosas clicables.

+0

Estoy bastante seguro de que este es el método preferido a menos que tenga muchos botones – Falmarri

12

Use View.getId() para distinguir entre las diferentes vistas que activan los eventos OnClick.

@Override 
public void onClick(View view) { 
    super.onClick(view); 
    switch (view.getId()) { 
    case R.id.download: 
    //code.. 
    break; 
    case R.id.play: 
    //code.. 
    break; 
    case R.id.pause: 
     //code.. 
    break; 
    default: 
     //code.. 
    break; 
    } 
} 
+0

hola estoy usando el siguiente concepto imgvw_back.setOnClickListener (this) imgvw.setOnClickListener (this); estática int i = 10; @ Override public void onClick (Ver v) {// TODO \t AUTOGENERADAS método stub interruptor \t \t (v.getId()) { \t \t caso R.id.back: \t \t Conectarse .v ("volver", "" + i--); \t \t break; \t \t \t case R.id.forward: Log.v ("next", "" + i ++); break; \t \t \t \t}} \t pero no funcionó, no sé, ¿por qué nose correr? Sobre todo mostrar la palabra siguiente en el registro de – sivaraj

+0

¿Ha tratado de configurar un punto de ruptura en el método onClick? Funciona en absoluto? –