lac*_*cas 55 java android gettype
我怎样才能做到这一点?
东西:
final View view=FLall.getChildAt(i);
if (view.getType()==ImageView) {
...
}
Run Code Online (Sandbox Code Playgroud)
Fel*_*lix 138
如果由于某种奇怪的原因,你不能使用朝日的建议(使用标签),我的主张如下:
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 ...
Run Code Online (Sandbox Code Playgroud)
rea*_*jin 18
我尝试以下它,它工作:
View view=FLall.getChildAt(i);
Log.i("ViewName", view.getClass().getName());
Run Code Online (Sandbox Code Playgroud)
对于检查此问题的其他人,在某些情况下instanceof不起作用(我不知道为什么!),例如,如果你想检查视图类型是否ImageView或ImageButton(我测试过这种情况),它会得到它们相同,所以你扫描用这种方式:
//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;
}
Run Code Online (Sandbox Code Playgroud)