Android-разница между видом.getResources() и посмотреть.метода getcontext().getResources()

Я хочу понять реальную разницу в использовании 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 ответов


ничего. Как видно из исходного кода:

private final Resources mResources;

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

public Resources getResources() {
    return mResources;
}

Я думаю View.getResources() ярлык для getContext().getResources().

Вы можете искать исходный код если вы действительно хотите знать.


getContext().getResources() возвращает ресурсы конкурса, в котором View работает, т. е. это можно использовать, когда представления реализуются динамически, а View.getResource(). Возвращает экземпляр Resources для пакета приложения.