我刚刚开始学习android编程,我对getResources()方法产生了疑问。
我注意到,当我创建一个 Resources 对象时,我所要做的就是:
Resources res = getResources();
第一个疑问是为什么我必须这样做并且我不能使用 java 关键字new?我不应该做这样的事情吗:
Resources res = new Resources();
第二个疑问如下:在我的文件顶部,我导入了 Resources 类。
import android.content.res.Resources;
现在我读了android api,它说 getResources() 是一个公共抽象方法,如果它是抽象的,哪个类实现它?如果它没有声明为静态,我如何简单地通过输入 getResources() 来调用它?
你的活动延伸了课堂android.app.Activity这反过来又扩展了类android.content.Context(类层次结构上三层)。班级Context
声明抽象方法获取资源()这意味着您的活动子类继承了该方法,您可以从您的活动中调用它onCreate()
方法(例如)。
方法getResources()
在类中被声明为抽象Context
但类层次结构中的中间类之一(android.view.ContextThemeWrapper) 提供该方法的实现。
这也意味着创建Resources
对象不是你的责任;它是由框架完成的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)