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.

-1voto

x4mp73r comentado

¿Porqué vuelves a escribir otra pregunta?

1 Respuesta

2votos

egoitz_gonzalez Puntos10050

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.

0voto

morenovall comentado

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

1voto

egoitz_gonzalez comentado

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);         
            }
        });

0voto

morenovall comentado

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

0voto

egoitz_gonzalez comentado

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.

Otras Preguntas y Respuestas


...

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

Conecta