用于活动和视图的findViewById的超类型

时间:2014-07-13 16:05:04

标签: java android android-activity android-view

您可以findViewById以及View调用Activity。现在我需要在两者上调用它,具体取决于具体情况。我想避免类型检查或空检查并使用它们中的任何一个,但是希望在传递参数时将其转换为一种类型。

是否有像findViewById这样的通用界面?因为从源代码看起来它只是为两者实现,而没有连接到超类或接口。

1 个答案:

答案 0 :(得分:0)

您可以在Activity中执行的操作是获取装饰视图,您可以在其上调用findViewById

public void myMethodRequiringView(View view) {
    view.findViewById(...);
}
Activity中的

myMethodRequiringView(getWindow().getDecorView());
Fragment中的

myMethodRequiringView(rootView);

如果您查看ActvityWindow Android类的来源,您会发现这正是Actviity.findViewById中所称的内容。