Android - pasar contexto de MainActivity a otra clase

   
Vista:
Imágen de perfil de Juan Jose

pasar contexto de MainActivity a otra clase

Publicado por Juan Jose (15 intervenciones) el 25/09/2017 12:59:55
Hola a todos;

Tengo una app con un MainActiviy en el que defino unos editext:

MainActivity;

1
2
3
4
private EditText edemail;
    private EditText eddni;
    private EditText ednombre;
    private EditText edtelefono;

y mas abajo dentro de esa actividad un metodo para resetear dichos elementos.

1
2
3
4
5
6
7
8
9
10
11
12
13
    /**
     * Metodo para resetear Datos
     *
     * @
     */
    private void resetDatos() {
 
        eddni.setText("");
        edemail.setText("");
        edtelefono.setText("");
        ednombre.setText("");
 
    }

si esta todo el codigo en la misma clase, llamada MainActivity todo es correcto.

PROBLEMA:

y lo que quisiera es para tener el codigo mas limpio, llevarme esta funcion a otra clase llamada funciones,me da error a referencia de los elementos editext.

Funciones.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Funciones {
 
    /**
     * Metodo para resetear Datos
     *
     * @
     */
    private void resetDatos() {
 
        eddni.setText("");//error en la referencia del elemento
        edemail.setText("");
        edtelefono.setText("");
        ednombre.setText("");
 
 
    }



el problema lo tengo a la hora de referenciar dichos elementos que me dan error , creo que tengo que pasar el contexto de la mainActivity.

Como se podria hacer de la mejor manera?.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

pasar contexto de MainActivity a otra clase

Publicado por Raul infoshop@infoaire.com.ar (1 intervención) el 02/04/2018 20:18:16
Hola, pudiste resolver el problema, a mi me pasa lo mismo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

pasar contexto de MainActivity a otra clase

Publicado por Yamil Bracho (82 intervenciones) el 02/04/2018 20:40:38
Antes que nada el metodo resetDatos debe ser public para poderlo llamar desde tu actividad principal o a lo mejor public static.
Lo otro es que el codigo que intentas ejecutar deberia estar en la vista
Lo otro que puedes hacer es colocar la actividad como uan referencia en tu clase, digamos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Funciones {
    private MainActivity_activity;
 
    public void Funciones(MainActivity activity) {
         _activity = activity
   }
 
    private void resetDatos() {
        if (_activity != null) {
           _activity.eddni.setText("");//error en la referencia del elemento
           _activity. edemail.setText("");
            _activity.edtelefono.setText("");
            _activity.ednombre.setText("");
    }
 
}

Y en tu MainActivity

1
2
Funciones funciones = new Funciones(getActivity())
funciones.resetDatos()


Pero como te dije me parece mas limpio que hagas acciones con los elementos de la actividad dentro de la actividad...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar