Android - View.getResources()和View.getContext()之间的区别.getResources()

时间:2013-12-04 21:47:17

标签: android android-view

我想了解使用View.getResources()View.getContext().getResources()的真正区别。

例如,我必须从资源中将颜色设置为TextView

view.setTextColor(view.getResources().getColor(R.color.Blue));

view.setTextColor(view.getContext().getResources().getColor(R.color.Blue));

两者都有效,但根据文件......

View.getResources() - 返回与此视图关联的资源。

View.getContext() - 返回运行视图的上下文,通过它可以访问当前主题,资源等。

欢迎你的想法......

3 个答案:

答案 0 :(得分:18)

无。如源代码所示:

private final Resources mResources;

public View(Context context) {
    mContext = context;
    mResources = context != null ? context.getResources() : null;
    ...
}

public Resources getResources() {
    return mResources;
}

答案 1 :(得分:1)

我猜View.getResources()getContext().getResources()的快捷方式。

如果您真的想知道,可以搜索source code

答案 2 :(得分:0)

getContext().getResources()返回正在运行View的竞赛资源,即在View.getResource()期间动态实施视图时可以使用此资源。返回应用程序包的Res​​ources实例。