初学android,Resources r = getResources();

从书上看到的一个例子publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceSt... 从书上看到的一个例子
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageview = (ImageView)findViewById(R.id.imageview02);
Resources r = getResources(); //获得Resources实例
Drawable d = r.getDrawable(R.drawable.a2); //通过Resources获得Drawable实例
imageview.setImageDrawable(d);
}

这几里有几个疑问
1、 imageview = (ImageView)findViewById(R.id.imageview02);
findViewById是通过ID来查找view控件的。找到的应该就是id为imageview02的那个控件,为什么还要用(ImageView)再转换下

2、Resources r = getResources(); //获得Resources实例Resources类型可以直接引用一个抽象类?作用是什么?有迷糊
3、Drawable d = r.getDrawable(R.drawable.a2);
Drawable类中的getDrawable返回值是地址吗?
展开
 我来答
老冯言井故事
推荐于2016-11-08 · TA获得超过416个赞
知道小有建树答主
回答量:252
采纳率:100%
帮助的人:261万
展开全部
1 既然是find "View" ById那么就是找到对应ID的View,View范围很大,系统不知道是哪个类型,所以要转换一下,这个View类似于java的Object。
2 getResources是Activity的一个方法,既然你这个类继承了Activity,那么自然有他的方法,直接写方法名就可以调用了,这是个方法不是抽象类。
3 getDrawable返回的是一个Drawable 对象,这个对象类似于画布一样是一个可画的对象,可以把现有的资源或者转换的资源显示给我们,可以把它放在诸如图片控件上面做显示。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式