java - móviles - manual de programacion android pdf
Android recibe tipo de vista (4)
Intento lo siguiente y funcionó:
View view=FLall.getChildAt(i);
Log.i("ViewName", view.getClass().getName());
¿Cómo puedo hacer esto?
alguna cosa:
final View view=FLall.getChildAt(i);
if (view.getType()==ImageView) {
...
}
Para los demás que verifican esta pregunta, en algunos casos no funciona la instanceof
(no sé por qué), por ejemplo, si desea verificar si el tipo de vista es ImageView
o ImageButton
(probé esta situación), les da igual, entonces escanea de esta forma:
//v is your View
if (v.getClass().getName().equalsIgnoreCase("android.widget.ImageView")) {
Log.e("imgview", v.toString());
imgview = (ImageView) v;
} else if (v.getClass().getName().equalsIgnoreCase("android.widget.ImageButton")) {
Log.e("imgbtn", v.toString());
imgbtn = (ImageButton) v;
}
Puede usar la etiqueta para ese fin: vea los métodos set / getTag en http://developer.android.com/reference/android/view/View.html
Si, por alguna extraña razón, no puedes usar la sugerencia de Asahi (usando etiquetas), mi proposición sería la siguiente:
if (view instanceof ImageView) {
ImageView imageView = (ImageView) view;
// do what you want with imageView
}
else if (view instanceof TextView) {
TextView textView = (TextView) view;
// do what you want with textView
}
else if ...