Android getResources()的实现

我刚刚开始学习android编程,并且对方法getResources()产生了疑问。我注意到,当我创建一个Resources对象时,我要做的就是:

Resources res = getResources();

第一个疑问是以下为什么我必须以这种方式做并且我不能使用java关键字 ?我不应该这样做吗:

Resources res = new Resources();

第二个疑问是:在文件的顶部,我导入了Resources类。

import android.content.res.Resources;

现在,我阅读了android

api,它说getResources()是一个公共抽象方法,如果它是抽象的,哪个类可以实现呢?如果未将其声明为静态,如何简单地键入getResources()来调用它呢?

回答:

您的活动扩展了android.app.Activity类,而该类又扩展了android.content.Context类(三个向上的类层次结构)。类Context声明了抽象方法getResources(),这意味着您的活动子类继承了该方法,您可以从onCreate()方法内部进行调用(例如)。

方法getResources()在类中被声明为抽象方法,Context但类层次结构中的中间类之一(android.view.ContextThemeWrapper)提供了该方法的实现。

这也意味着创建Resources对象不是您的责任;它由框架代替。

以上是 Android getResources()的实现 的全部内容, 来源链接: utcz.com/qa/399856.html

回到顶部