Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/01/2015, 07:16
Avatar de ipraetoriux
ipraetoriux
 
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años, 6 meses
Puntos: 155
Respuesta: (aprendiendo) en el videoTuto si funciona

Haber, disculpa que arriba te puse el código directamente sin explicar absolutamente nada...en Java como en la mayoria de los lenguajes de programación tenes varias formas de hacer diferentes cosas logrando mismo resultados.

En este ejemplo puntual, vos podes definir el "listener" para un Button de varias formas. Las mas usadas y frecuentes de encontrar son:

1) Definis el listener en el button y pasas como argumento la interface OnClickListener

Código Java:
Ver original
  1. public class MainActivity extends Activity{
  2.  
  3.     private Button miBtn;
  4.  
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.  
  9.         this.miBtn = (Button) this.findViewById(R.id.mi_btn);
  10.  
  11.         this.miBtn.setOnClickListener(new OnClickListener() {
  12.        
  13.         @Override
  14.         public void onClick(View v) {
  15.            
  16.         }
  17.     });
  18.     }
  19.  
  20. }


2) Implementas la interface OnClickListener directamente en la la clase. Ahora el argumento de setOnClickListener hace referencia a la clase que implementa la interface OnClickListener, y por otro lado debes implementar en la clase el metodo onClick

Código Java:
Ver original
  1. public class MainActivity extends Activity implements OnClickListener{
  2.  
  3.     private Button miBtn;
  4.  
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.  
  9.         this.miBtn = (Button) this.findViewById(R.id.mi_btn);
  10.  
  11.         this.miBtn.setOnClickListener(this);
  12.     }
  13.  
  14.     @Override
  15.     public void onClick(View v) {
  16.  
  17.     }
  18.  
  19. }


3) Creas una variable de instancia del tipo OnClickListener que hará referencia a una nueva instancia de OnClickLister. Esta variable de instancia la pasas como argumento en el setOnClickListener.

Código Java:
Ver original
  1. public class MainActivity extends Activity{
  2.  
  3.     private Button miBtn;
  4.  
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.  
  9.         this.miBtn = (Button) this.findViewById(R.id.mi_btn);
  10.  
  11.         this.miBtn.setOnClickListener(btnClick);
  12.     }
  13.  
  14.     private OnClickLister btnClick = new OnClickListener() {
  15.        
  16.     @Override
  17.     public void onClick(View v) {
  18.            
  19.     }
  20.     };
  21.  
  22. }