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