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

Edittext Dinamicos

Hola, Buenas tardes.

Espero me puedan apoyar con un proceso en android.

Estoy realizando un app, en un activity obtengo un json que me mandar imágenes de equipos donde se deben de calificar, al lado de cada imagen necesito crear un edittext para que se agregue la calificación, lo que no puedo realizar es como crear estos edittext con nombre diferente para poder obtener los valores de cada uno, al momento puedo pintar ya los edit pero todos con el mismo nombre y no puedo obtener los valores que se ingresaron en cada uno.

Espero me haya explicado, si alguien tiene algo que me guié para realizar esto, se lo agradezco de antemano.

Saludos

3 Respuestas

2votos

cobasESP Puntos19650

Ya que no puedes cambiar la id, te diré un truquito que suelo usar yo para estos casos, y es cambiar el ContentDescription. Al momento de crearlos como te dicen arriba, le añades una linea:

String resultadoJson="":
EditText et;
List<EditText> Editexts = new ArrayList<EditText>();

for (int i = 0; i < count; i++) {   

    et = new EditText(tuActivity.this);
    Editexts.add(et);
    et.setText(resultadoJson);
    et.setContentDescription("Identificattivo"); //Una id o algo para reconocerlo

}

Todos tendrán la misma id, pero cuando los recorras con un bucle for para ver su valor:

for (int i = 0; i < count; i++) { 
  String auxId = et.getContentDescription(); //Aqui se cual es por la desc que puse

  //Ahora saco su contenido y sabiendo que et es, tengo control total
  String text = et.getText();

}

Espero que te sirva, un saludo.

0voto

ferbajoo comentado

Muchas gracias a todos, esto es perfectamente lo que buscaba, saludos!

1voto

1raziel1 Puntos2210

A ver para darle un valor a tu editText seria asi:

 EditText et;
 et=(EditText)findViewById(R.id.idDeTuEditText);
 et.setText(String);

0voto

ferbajoo comentado

Si, pero yo los crearía desde codigo con el new Edittext y quiero que sea dinámico por ejemplo en un método que me permita pasarle el nombre de el edit.

2votos

x4mp73r Puntos13390

¿Puede ser algo así?

String resultadoJson="":
EditText et;
List<EditText> Editexts = new ArrayList<EditText>();

for (int i = 0; i < count; i++) {   

    et = new EditText(tuActivity.this);
    Editexts.add(et);
    et.setText(resultadoJson);
}

0voto

ferbajoo comentado

Se acerca un poco mas, pero sigue teniendo el mismo nombre el edit, tratare de usarlo así, pensaba en implementar un Listenner y así realizar la suma, ya que no puedo traérmelo uno por uno, ya que se llaman igual.

0voto

x4mp73r comentado

Pero para eso está el et.seText(resutadoJson), con eso automáticamente va crear EditText con nombres de los json que reciba, si solo recibe el mismo json con el mismo nombre siempre, obviamente siempre te creará los editext con el mismo nombre.

0voto

ferbajoo comentado

Es que no me estoy dando a entender, creo que no es posible lo que quiero... aquí este código hará que lo que tiene el json lo agregue como texto al edit, lo que yo necesito es que ese texto sea el id que hace referencia al nuevo edit, no se si me explico?

De antemano gracias por leerme y buscar soluciones conmigo, saludos!

0voto

x4mp73r comentado

Oh ya entiendo, no es nada, se ayuda en lo que se puede :) saludos.

PD: No se si funciona pero puedes probar usar setId(); ejemplo: et.setId(resutadoJson); :D

0voto

ferbajoo comentado

No es tal cual lo que necesito, pero creo que con eso puedo acomodarlo un poco mejor, muchas gracias!

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