[英]Super-type for findViewById for Activity and View
您可以在View
以及Activity
上调用findViewById
。 现在,根据情况,我都需要在两者上调用它。 我想避免类型检查或null检查并使用它们中的任何一个,但希望在传递参数时将其转换为一种类型。
是否有一些通用接口可以调用findViewById
? 因为从源代码看,这似乎只是为两者实现的,而没有连接到超类或接口。
您可以在Activity
执行的操作是获取装饰视图,在该视图上调用findViewById
。
public void myMethodRequiringView(View view) {
view.findViewById(...);
}
在Activity
:
myMethodRequiringView(getWindow().getDecorView());
在Fragment
:
myMethodRequiringView(rootView);
如果您查看Actvity
和Window
Android类的源代码,您会发现这正是Actviity.findViewById
所调用的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.