Duda Android

joselichu007

Buenas,

a ver si me podéis echar un cable que me estoy volviendo loco xD

Estoy haciendo un layout y tengo el siguiente valor de texto

spoiler

con su strings.xml

spoiler

El caso es que quiero cambiar el valor dinámicamente de la variable pregunta desde Java.
He estado mirando por internet y he dado con el TextView pero no me parece la solución más limpira ya que la variable pregunta ya la tengo en la posicion que quiero y tal sobre la pantalla. Y con el SharedPreferences no consigo cambiar el valor.

Gracias por la ayuda!

tOWERR

Se modifica mediante SharedPreference, aquí te dejo una ayuda, espero que te sirva.

http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values

2 respuestas
bLero

Si lo que quieres es modificar su valor dinámicamente durante la ejecución del programa por qué no lo haces con el setText.

TextView textView = (TextView) findViewById(R.layout.textView1);
textView.setText("Tu texto");

Ahora bien, si necesitas que ese texto permanezca la próxima vez que ejecutes el programa tiene que ser con lo que te ha dicho #2

1 respuesta
joselichu007

#2 #3
El cambio de texto tendría que ser diatónicamente, osea con el setText. Solo que por lo que he visto, tienes que darle el tamaño, la posición... desde Java y me parecía poco "limpio". Por eso buscaba algo más parecido a Strtus, donde le pones la variable en la JSP ya con la posición y tamaño que quieres y luego le seteas el valor desde Java. Eso no lo hay en Android, ¿no?

1 respuesta
tOWERR

#4

Pero el tamaño y todas las propiedades del textview las indicas en el xml donde le hayas insertado. No es necesario cambiarlo mediante codigo.

1 respuesta
joselichu007

#5 Ahí me he perdido un poco.
Supongo esta parte:

findViewById(R.layout.textView1);

es la que identifica al valor que quieres setear del XML, ¿no?

1 respuesta
tOWERR

#6

No, no. Lo tienes que hacer aquí:

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="54dp"
android:text="@string/pregunta" />

Aquí te dejo todas las propiedades que tiene un textview:

1 respuesta
joselichu007

#7 Ya lo conseguí.

TextView textView = (TextView) findViewById(R.id.textView1);
textView.setText("Tu texto");

Gracias a los dos por la ayuda ;)

Usuarios habituales

  • joselichu007
  • tOWERR
  • bLero