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

0voto

Usar una variable para llamar a un @String

voy a intentar ser lo más preciso posible en mi problema, ya que con la solución dada me sigue sin funcionar.
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.

Espero ser más preciso en esta ocasión.

x4mp73r comentado May 25, 2016

¿Porqué vuelves a escribir otra pregunta?

1 Respuesta

2votos

egoitz_gonzalez Puntos9990

Es lo mismo que te he puesto aquí

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

Pero en lugar de persona.getNombre(), recoge el valor de el EditText.

morenovall comentado May 26, 2016

No funciona, no reconoce las palabras persona, context y la parte getEditText en ese contexto.

egoitz_gonzalez comentado May 26, 2016

persona en una clase mía. Y context es el contexto de la aplicación. Tienes que instanciar context y sustituir persona.getNombre por el código que recoge el valor de editText, por ejemplo al pulsar un botón.

Context context = getApplicationContext();

Recoger el valor de EditTextal pulsar un botón

btn1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
       String variable = et1.getText().toString();
       int intVariableForPrint = context.getResources().getIdentifier(variable, "string", context.getPackageName());
       String nombre = context.getString(intVariableForPrint);
       t1.setText(nombre);         
            }
        });

morenovall comentado May 26, 2016

Ok, esta tarde lo pruebo y te digo, muchas gracias

egoitz_gonzalez comentado May 27, 2016

Si te sirvió, sería recomendable que asignaras la respuesta como mejor respuesta y damos por finalizado el hilo.

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

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

¿Eres Usuario Apple?

...

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

Conecta