Como llamar desde una actividad a un método de otra clase

publicado por: Anonymous

Os presento mi problema:

Tengo una actividad
llamada public class PosicionamientoActivity extends AppCompatActivity ,

y una clase java (no una actividad)

public class DecisorCoordenadas {
   public DecisorCoordenadas(Context contexto, Coordinador coordinador) {

Me gustaría saber como podría ejecutar un método ( public void resetInfo_Coordenadas(){) de mi clase java desde la actividad.

Un saludo.

solución

Para llamar un método de otra clase en una Activity, primeramente el método debe estar definido con el modificador public, lo cual es correcto:

public class DecisorCoordenadas {
   public DecisorCoordenadas(Context contexto, Coordinador coordinador) {
   ...
   ...

Si revisamos los parámetros que necesita, son el Contexto de la Activity, aunque puede ser usado el de la aplicación lo cual es más ligero (Revisa como se usaría ya que en algunos casos requieres el de la Activity por ejemplo al crear un diálogo dentro de la clase), y un objeto de tipo Coordinador

Como el método DecisorCoordenadas() no esta definido como static se tiene que instanciar la clase para llamar al método desde la Activity.

En el caso del método descrito en tu pregunta, en realidad este método es el constructor que sirve para inicializar la clase:

DecisorCoordenadas decisorCoordenadas = new DecisorCoordenadas(this, myObjetoCoordinador);

o

DecisorCoordenadas decisorCoordenadas = new DecisorCoordenadas(getApplicactionContext(), myObjetoCoordinador);

Me gustaría saber como podría ejecutar un método

public void resetInfo_Coordenadas(){  

de mi clase java desde la actividad.

Imagino este método se encuentra dentro de la clase DecisorCoordenadas, entonces se puede llamar de esta forma desde la Activity, primeramente instanciamos la clase ya que el método no esta definido como static y al tener la instancia podemos llamar el método:

DecisorCoordenadas decisorCoordenadas = new DecisorCoordenadas(this, myObjetoCoordinador);
decisorCoordenadas.resetInfo_Coordenadas(); 

Una pregunta un poco similar esta realizada en el Tag Java en el caso de Android seria similar.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *