Varias actividades utilizando misma escucha
-
30-09-2019 - |
Pregunta
Me dieron 4 actividades que todos incluyen un xml-pie de página que contiene 4 botones (uno para cada actividad). Ahora me gustaría a onclicklisteners de configuración a estos botones (que es un menú hecho a sí mismo en el pie de página).
La pregunta es, ¿cómo se utiliza oyentes para que pueda reutilizar el código? Tengo dos ideas:
-
Crear una clase que implementa OnClickListener y en todas las actividades que obtendría los botones y luego crear una nueva instancia de la clase oyente y hacer button.setOnClickListener (OnClickListener) El problema es que en la clase oyente, ¿Cómo puedo comprobar qué botón de llamada del evento? Y ¿cómo podría crear una intención de iniciar una actividad, por lo general yo haría: Intento = intención nuevos intención (FromActivity.this, ToAcitivty.class) Pero no tengo la referencia a FromActivity.
-
Crea una clase base que se extiende desde la actividad y luego los 4 Actividades al se extenderán desde la clase base. Después me gustaría configurar los oyentes en la clase base. El problema aquí es que no puedo conseguir las referencias a los botones haciendo ButtonButton1 = (Button) findViewById (R.id.menu_button1); botón1 será nulo. Ni siquiera he llamado setEventView porque esto debe hacerse de la actividad no en la clase base.
¿Alguna idea?
Gracias
Solución
El mismo código está aquí:
public class MyClass extends Activity implements View.OnClickListener{
btnA=(Button)findViewById(R.id.btnA);
btnA.setOnClickListener(this);
btnB=(Button)findViewById(R.id.btnB);
btnB.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
Button clickedButton = (Button) v;
switch (clickedButton.getId())
{
case R.id.btnA:
Intent regIntent = new Intent(Home.this,Registration.class);
startActivityIfNeeded(regIntent, 1);
break;
case R.id.btnB:
//Some code
break;
}
}
(editada como la primera línea original se divide en formato de código.