¿Cómo llamar a un método definido en otra actividad / clase onClick () de un elemento del botón?

Estoy trabajando en el Layout de mi actividad principal con Android Studio (la API más baja es 15 ), y he definido algunos botones XML en él.

La idea del programa es editar una lista de palabras añadiéndola, mostrándola y borrándola con un conjunto de botones. ( Hay un EditText para agregar, pero eso no es importante para la pregunta ). Pero con la idea de la cohesión alta en la mente, he definido esta lista y los métodos que la manipulan en otra clase llana llamada WordList ( que todavía extiende la actividad ), y tan al intentar invocar la propiedad onClick de un botón, no puede encontrar ellos.

android:onClick="addWord" 

Método 'addWord' falta en 'MainActivity' o tiene firma incorrecta …

¿Hay alguna manera de hacer que el diseño, o el elemento individual punto ( o obtener su contexto de datos ) de otra clase, o es que en contra de toda la estructura de Android y debería ponerlo en su actividad original?

3 Solutions collect form web for “¿Cómo llamar a un método definido en otra actividad / clase onClick () de un elemento del botón?”

¿Está utilizando la firma correcta para el método?

Métodos define utilizando el atributo onClick debe cumplir los siguientes requisitos:

  • Debe ser público
  • Debe tener un valor de retorno vacío
  • Debe tener un objeto Ver como parámetro (que es la vista que se ha hecho clic)

me gusta

 public void addWord(View view) { //your action } 

Agregue un OnClickListener al botón en lugar de utilizar el atributo XML onClick.

https://stackoverflow.com/a/29479937/1496693

Pruebe esto, debería funcionar:

 Button btn = (Button) findViewById(R.id.mybutton); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { addWord(v); } }); // some more code public void addWord(View v) { // does something very interesting } 

Implementación de XML

 <?xml version="1.0" encoding="utf-8"?> <!-- layout elements --> <Button android:id="@+id/mybutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click me!" android:onClick="addWord" /> <!-- even more layout elements --> 
  • Cómo resolver StringIndexOutOfBoundsException en android
  • Cómo puedo saber cuándo / dónde invocar el método anulado de la superclase
  • ¿Cerrar diálogo Android después de 5 segundos?
  • LibVlc android no puede cargar libs
  • DisplayMessageActivity no se puede resolver a un tipo de construcción de la primera aplicación android
  • problema de glowpadview con xml
  • SOAP xml a cambio - Android
  • Lectura y escritura de archivos binarios en Java (viendo la mitad del archivo dañado)
  • CollapsingToolbarLayout no reconoce el desplazamiento
  • JNI: Llamar a GetStaticMethodID explotar
  • Leer y mostrar texto de mensaje entrante android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.