entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Usar un string o otro en funcion de un texto en un editText

Muy buenas,
Tengo un problemilla os comento:
Introduzco un texto en un editText (usuario1), ese texto esta llamado en el string.xml

<string name="usuario1">Pepito</string>

Y ese "Pepito" aparece en un textView.
Esto no tendría problema si solo tuviera un usuario, la cosa es que existe un numero alto de usuarios con sus respectivos

<string name="usuarioN">nombre</string>

public TextView t1;
public EditText u1;
u1 = (EditText) findViewById(R.id.editText);
t1.setText(R.string.u1);

Se que este codigo no funciona pero creo que no andaré muy lejos.

En definitiva llamar a string del .xml desde el valor de una variable.

Muchas gracias, si no me he explicado bien decírmelo e intento dar más detalles

Tengo esto en el string.xml

<string name="J25.4">1</string>
<string name="J26.4">2</string>
<string name="J27.4">3</string>
<string name="J28.4">4</string>
<string name="J29.4">5</string>
<string name="J30.4">6</string>
<string name="J31.4">7</string>

Despues en el layout tengo un TextView vacio y un editText

Lo que necesito es que si yo escribo en el editText "J25.4" en el TextView salga "1" y a si con el resto de casos.
El numero de strings en muy algo por lo que no se puede realizar mediante un CASE.

0voto

x4mp73r comentado

Yo en lo personal no entendí nada. Sería mejor si te explicas mejor.

0voto

morenovall comentado

En definitiva llamar al string del .xml desde el valor de una variable.

1 Respuesta

1voto

egoitz_gonzalez Puntos10050

Entiendo que el problema es que el nombre de la variable alojada en string.xml va cambiado. UsuarioN1, UsuarioN2, UsuarioN3....

Aquí te pongo un ejemplo de lo que necesitas.

String variable = persona.getNombre();  
int intVariableForPrint = context.getResources().getIdentifier(variable, "string", context.getPackageName());
String nombre = context.getString(intVariableForPrint);
t1.setText(nombre);

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta