当前位置: 首页 > 面试题库 >

Android getResources()的实现

琴宾鸿
2023-03-14
问题内容

我刚刚开始学习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声明了抽象方法getResources(),这意味着您的活动子类继承了该方法,您可以从onCreate()方法内部进行调用(例如)。

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

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



 类似资料:
  • 本文向大家介绍android实现ViewPager的Indicator的实例代码,包括了android实现ViewPager的Indicator的实例代码的使用技巧和注意事项,需要的朋友参考一下 虽然在android5.0中design中有了TabLayout来实现ViewPager的Indicator,简单好用。但这个是我自己实现的,学习了很多,记录在这里。效果图: 第一步 新建一个类继承Lin

  • 它为什么特别对待是2的幂的情况?只是为了表现吗? 它为什么拒绝数字?

  • 本节是对前两节内容的实践。我们以“词嵌入(word2vec)”一节中的跳字模型和“近似训练”一节中的负采样为例,介绍在语料库上训练词嵌入模型的实现。我们还会介绍一些实现中的技巧,如二次采样(subsampling)。 首先导入实验所需的包或模块。 import collections import d2lzh as d2l import math from mxnet import auto

  • 一、前言 上一章我们讲解了Memcached的消息回应机制《Memcached源码分析 - Memcached源码分析之消息回应(3)》。从这一章开始我们慢慢讲解Memcached是如何存储数据的。 讲解本章前,我们先看一个Memcached存储数据的item的基本结构。 //item的具体结构 typedef struct _stritem {     //记录下一个item的地址,主要用于

  • 本文向大家介绍java 字符串的拼接的实现实例,包括了java 字符串的拼接的实现实例的使用技巧和注意事项,需要的朋友参考一下 java 字符串的拼接的实现实例 在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分开,使得更清晰 3. 把单词中间有多个空格的调整

  • 本文向大家介绍vue 实现的树形菜的实例代码,包括了vue 实现的树形菜的实例代码的使用技巧和注意事项,需要的朋友参考一下 下面一段代码给大家介绍vue 实现的树形菜单功能,具体代码如下所示: 总结 以上所述是小编给大家介绍的vue 实现的树形菜的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 本文向大家介绍C++实现的链表类实例,包括了C++实现的链表类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C++实现的链表类。分享给大家供大家参考。具体如下: 希望本文所述对大家的C++程序设计有所帮助。

  • 本文向大家介绍C#实现较为实用的SQLhelper,包括了C#实现较为实用的SQLhelper的使用技巧和注意事项,需要的朋友参考一下 第一次写博客,想不到写什么好b( ̄▽ ̄)d ,考虑的半天决定从sqlhelper开始,sqlhelper对程序员来说就像helloworld一样,很简单却又很重要,helloworld代表着程序员萌新第一次写代码,而sqlhelper则是初次接触数据库(不知道这种