您可以findViewById
以及View
调用Activity
。现在我需要在两者上调用它,具体取决于具体情况。我想避免类型检查或空检查并使用它们中的任何一个,但是希望在传递参数时将其转换为一种类型。
是否有像findViewById
这样的通用界面?因为从源代码看起来它只是为两者实现,而没有连接到超类或接口。
答案 0 :(得分:0)
您可以在Activity
中执行的操作是获取装饰视图,您可以在其上调用findViewById
。
public void myMethodRequiringView(View view) {
view.findViewById(...);
}
Activity
中的:
myMethodRequiringView(getWindow().getDecorView());
Fragment
中的:
myMethodRequiringView(rootView);
如果您查看Actvity
和Window
Android类的来源,您会发现这正是Actviity.findViewById
中所称的内容。