专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Android

getString()方法可以直接用吗解决方法

发布时间:2010-05-30 10:45:56 文章来源:www.iduyao.cn 采编人员:星星草
getString()方法可以直接用吗
Java code
package com.app.MainActivity;

import com.app.MainActivity.R;
import android.app.Activity;
import android.os.Bundle;

public class Chapter03_ResourceActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        String str = getString(R.string.str1).toString();
        
    }
}

这里直接用getString方法并没有报错,我很奇怪,通过查询Android文档,getString方法是属于Context类的,而Context又是在android.content.Context中,如果想要使用getString()方法的话,按我的理解,应该先import android.content.Context,然后创建Context的一个实例,然后才能用实例引用getString()方法,这里为什么能直接用呢

进来回答问题的人,祝各位新年快乐!

------解决方案--------------------
Activity就是继承Context,从类关系上你可以理解成Activity是Context的扩充,如果按照windows的窗口机制,你也可以把Context理解成是一个句柄。
------解决方案--------------------
包名没有任何限制,包是为了方便管理和应用,别人一看就懂。
假设用一层包Context,那如果不是搞android看到的谁知道是干什么的,并且容易引起冲突。
------解决方案--------------------
Activity extends Context 而Chapter03_ResourceActivity extends Activity 

所以可以直接用 

上面的
String str = getString(R.string.str1).toString(); 
相当于 String str = this.getString(R.string.str1).toString();
也相当于 String str = Chapter03_ResourceActivity.this.getString(R.string.str1).toString();
所以可以直接用的了


友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: