SetOnClickListener (nuevo OnClickListener () {})
package android.example; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class Android_eg1 extends Activity { Button bt; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bt=(Button)findViewById(R.id.click); bt.setOnClickListener(new OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "You made a mess", Toast.LENGTH_LONG).show(); } }); } //onCreate() }//class
Soy nuevo en java y conozco los fundamentos de core java. Este es el programa de ejemplo que traté de saber sobre el manejo de eventos a través de una clase de botón. No pude entender esta parte:
"bt.setOnClickListener(new OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "You made a mess", Toast.LENGTH_LONG).show(); } });"
Dentro del setOnClickListener (parámetro) ¿por qué dan una definición de función? (Public void onClick (View v)})
- Cómo hacer navegación personalizada ver animaciones como ésta
- ¿Dónde está la carpeta lib de la aplicación de Android?
- Android RSA Generación de pares de claves - ¿Debo usar Java estándar / Bouncy Castle / Spongy Castle / JSch / Other?
- ¿Cómo uso el procesador de anotación Java personalizado en Gradle?
- Descripción de libgdx
¿Es esto aceptable?
- No se puede cargar la clase com.android.build.gradle.managed.NdkConfig $ Impl
- Esperaba un mapa mientras se deserializaba, pero obtuvo una clase java.lang.Long
- Calcular el consumo de energía del sensor Android
- Android: El servicio de intento anidado no se inicia después de llamar a Context.startService ()
- Accesibilidad de Android com.android.settings: id / left_button sobre la fuerza no funciona
- utilizando nombres de clases variables en lugar de lotes de cláusulas if?
- Cómo seleccionar aleatoriamente de una lista de string-array
- Android: Formato de cadena con doble valor
En java, se trata de una clase generada que implementa la interfaz. Puede generar una clase sobre la marcha dentro del argumento de la función o puede crear una clase externa y pasar una instancia de esta clase o implementa la interfaz necesaria para su oyente por su activty y pasando su actividad como escucha.
setOnClickListener
toma un objeto OnClickListener
como parámetro. Básicamente está creando una subclase anónima OnClickListener
en el parámetro.
Es como lo mismo en java cuando se puede crear un nuevo hilo con una subclase anónima, por ejemplo:
Thread t = new Thread(new Runnable() { public void run(){...} });
El botón de clic es un identificador de evento. Usted puede entender claramente la diferencia, si se implementa OnClickListner
lugar de utilizar en su código de ejemplo. Cuando implementa OnClickListner
su IDE muestra la opción de utilizar métodos no implementados relacionados con la interfaz OnClickListner
. Allí puedes ver public void onClick
método public void onClick
. Si resumir el escenario;
- Tienes un botón
- Usted debe tener una interfaz que escucha los eventos de botón –
OnClickListner
- Establezca su evento de botón para escuchar los eventos del usuario –
button.setOnClickListner(this)
- ¿Qué desea hacer después de que el evento entre dentro del método
onClick
Este código de ejemplo completo puede darle un entendimiento claro sobre eso.
OnclickListener es una interfaz (Listener) y setOnClickListener () es un método que necesita un objeto de tipo onClickListener. Podemos crear la clase anónimamente. Es decir, se realiza llamando a una clase de ningún nombre (ANONYMOUS CLASS DECLARATION) que implementa OnClickListener y por lo tanto tendrá que implementar el método void onClick. Por lo tanto, tendremos el objeto de tipo de interfaz y esto se utiliza para la programación taquigrafía. Para obtener más información sobre la clase anónima, visite http://www.techartifact.com/blogs/2009/08/anonymous-classes-in-java.html
SetOnClickListener función con parámetro de tipo OnClickListener ()
OnClickListener () es una interfaz: (analogía a c + + clase base abstracta)
el código:
bt.setOnClickListener(new OnClickListener() /* this is the definition of anonymous class which implements OnClickListener() */ /* equivalent to : class OnClickListener_implementation implements OnClickListener */ { public void onClick(View v) { //your code here } );
Esto significa: Construir un objeto de una clase que implementa la interfaz OnClickListener declarando onClick como especificado
- Cómo azulejar y desplazar una imagen grande (10000×10000) en android
- Android Studio: no se puede resolver el símbolo "R"