如何检查视图小部件的类型?

时间:2010-10-05 14:41:45

标签: android android-widget imageview android-layout

如何实现这一目标:

 if(findViewById(ResIdWithUnkownType) instanceof Bitmap)
 {
       Bitmap bitmap = (Bitmap) findViewById(ResIdWithUnkownType);
 } else if(findViewById(ResIdWithUnkownType) instanceof ImageView)
 {
       ImageView = (ImageView) findViewById(ResIdWithUnkownType);
 }

2 个答案:

答案 0 :(得分:6)

第二个块可以正常工作。问题是第一个:findViewById返回View对象始终,而Bitmap不是View,因此第一个if永远不会执行语句。

答案 1 :(得分:3)

这不是答案,但对于查看此问题的其他人,在某些情况下instanceof不起作用(我不知道原因!),例如,如果您想检查视图类型是否为{{1 }}或ImageView(我测试了这种情况),它会使它们相同,所以你用这种方式扫描:

ImageButton