Ver la Versión Completa : [ SOLUCIONADO ] pasar un String a otra clase
claudioestay.m91
14/10/15, 23:53:41
Hola, tengo una duda, resulta que quiero una url(imagen) mostrarlo en un ImageView.
Estoy trabajando con volley y SpreatSheet como Rest Api...
En un fragment implemento todo lo que es la parte de volley...
y recibo los datos. uno de esos datos lo intercepte y lo guarde en un String
de la siguiete forma:
String m = t.setImagen(jsonObject.getString("m"));
System.out.println(m);-->usado para comprobar que si estaba almacenada la url
y ese String quiero enviarlo a otra clase, pero estoy teniendo problemas con como hacerlo...
probe con el metodo de paso de parametros, pero en la clase donde voy a recibirlo, no puedo hacerlo por errores en el codigo, para ser especificos, no me reconoce el getIntent()
para poder seguir con la linea de codigo....
No se si fui claro en mi explicacion, pero necesito una forma de pasar ese String a mi clase CustomAdapter para poder generar su vista en el ImageView mendiante la url.
nstrikecs
16/10/15, 18:18:46
Prueba con esto
En la clase de donde envias los datos :
Intent i=new Intent(this,Actividad2.class);
i.putExtra("direccion", et1.getText().toString());
startActivity(i);
nstrikecs
16/10/15, 18:22:13
En la clase donde envias el String
Intent i=new Intent(this,Actividad2.class);
String m = t.setImagen(jsonObject.getString("m"));
i.putExtra("direccion", m);
startActivity(i);
y en la clase donde debe recibir el String :
en el metodo onCreate
{
Bundle bundle = getIntent().getExtras();
String m=bundle.getString("direccion");
}
claudioestay.m91
17/10/15, 05:46:58
En la clase donde envias el String
Intent i=new Intent(this,Actividad2.class);
String m = t.setImagen(jsonObject.getString("m"));
i.putExtra("direccion", m);
startActivity(i);
y en la clase donde debe recibir el String :
en el metodo onCreate
{
Bundle bundle = getIntent().getExtras();
String m=bundle.getString("direccion");
}
Gracias por responder, de hecho así mismo lo estoy haciendo, pero me da error en el getIntent() de la clase receptora. Me sale tachado y lo marca como error.
Dexafree
17/10/15, 12:18:44
e da error en el getIntent() de la clase receptora. Me sale tachado y lo marca como error.
Esta clase hereda de Activity/AppCompatActivity?
Tienes bien importado el SDK de Android?
Te da errores con otros métodos?
Qué te pone en el mensaje de error?
Expectro
17/10/15, 12:41:12
Si por alguna casualidad no pudieras, siempre puedes guardarlo con el SharedPreferences.
Por ejemplo:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(cont ext);
sp.edit().putString("clave", "valor").commit();
y para recuperarlo:
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(cont ext);
return sp.getString("valor", "valor default");
kriogeN
17/10/15, 12:43:55
¿Quieres enviar un String a otra clase?
Como siempre digo, primero Java, luego Android. Hacer cosas simplemente "porque lo pone en los tutoriales" sin saber lo que verdaderamente está ocurriendo lleva a fallos de base muy graves.
public class A {
private String cadena;
public void setCadena(String cadena) {
this.cadena = cadena;
}
}
public class B {
.............
A a = new A();
..............
String cadena = ..............
..............
a.setCadena(cadena);
}
Con eso ya has pasado cadena de B a A.
El tema de usar el getIntent() y los Extras, como te ha dicho DexaFree, es sólo para Activity y sus subclases. Y se hace así porque cuando lanzas una nueva Activity no tienes ninguna referencia sobre ella, así que tienes que tener alguna forma de poder pasarle parámetros. Pero en el resto de clases del mundo, incluso los Fragment, puedes hacerle todos los set que quieras al objeto,
claudioestay.m91
20/10/15, 05:43:59
Gracias por sus respuestas, habia probado de todo.
al final no se cual seria el problema, pero hoy entre a probar y si me tomaba el getIntent -.-
para dar el tema como resuelto, lo que hice fue esto:
Intent i = new Intent(getContext(), WebViewImg.class);
Bundle b = new Bundle();
b.putString("urlI", f);
i.putExtras(b);
getContext().startActivity(i);
y donde recibi:
Bundle bundle1 = getIntent().getExtras();
bundle1.getString("urlI"));
Dexafree
20/10/15, 23:51:16
Marcamos como solucionado :ok:
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.