Foros del Web » Programando para Internet » Android »

[SOLUCIONADO] Listener para TextView

Estas en el tema de Listener para TextView en el foro de Android en Foros del Web. Hola tengo una app que digamos que es una cuadricula de TextViews configurados en el layout con TableLayout y TableRow. El caso es que necesito ...
  #1 (permalink)  
Antiguo 10/03/2013, 19:02
 
Fecha de Ingreso: abril-2011
Ubicación: Leon
Mensajes: 61
Antigüedad: 13 años
Puntos: 2
Listener para TextView

Hola tengo una app que digamos que es una cuadricula de TextViews configurados en el layout con TableLayout y TableRow.

El caso es que necesito capturar cuando se pulsa cada textview, lo tengo hecho en la clase pero una a una y tengo unas 100.

Al pulsar necesito recuperar el texto que hay en el textview y un tag que le he metido antes, me gustaria si alguien me podria dar alguna pista para hacer Un solo listener y no tener que hacer 100.
Mi codigo:

TV001.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String miTag = TV001.getTag(R.string.tag1).toString();
String miNombre = TV001.getText().toString();
}
});

Claro esto pero 100 veces
Gracias
  #2 (permalink)  
Antiguo 11/03/2013, 16:15
 
Fecha de Ingreso: abril-2011
Ubicación: Leon
Mensajes: 61
Antigüedad: 13 años
Puntos: 2
Respuesta: Listener para TextView

Me autosugiero,

Y si hago una matriz de los textiviews y accedo a cada uno por su posicion?

Podria funcionar?
  #3 (permalink)  
Antiguo 11/03/2013, 18:15
 
Fecha de Ingreso: abril-2011
Ubicación: Leon
Mensajes: 61
Antigüedad: 13 años
Puntos: 2
Respuesta: Listener para TextView

Bueno pues funciona con una matriz de textview por si a alaguien le puede ayudar pego aqui el codigo que me ha ahorrado centenares de lineas duplicadas.
Aunque seguro que tampoco es la forma correcta ya que en realidad creo unos 100 listener con el bucle cuando seguro que se puede hacer solo en uno pero bueno
por el momento no se me ocurre otra forma, si alguien propone algo nuevo genial.

TextView[] listaDeText;

listaDeText = new TextView[]{
(TextView)findViewById(R.id.TV1),
(TextView)findViewById(R.id.TV2),
(TextView)findViewById(R.id.TV3),
(TextView)findViewById(R.id.TV4),
etc...}

Y el listener asi:


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

listaDeText[i].setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

String newTag = v.getTag(R.string.miTag).toString();

}
});
}

Etiquetas: app, layout, listener
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:15.