Android Context作用

Context 用于访问全局信息的接口

    App的资源: strings, drawable资源等等

 

工程代码:LearnContext.zip

--------------------------------------------------------

下面来看一个用Context来范围资源的粒子

public class MainActivity extends Activity {

    String TAG = "CARLOZ";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        //Activity 本身就是一个 Context
        TextView tv = new TextView(MainActivity.this);
        tv.setText("hello carloz");
        tv.setText(R.string.hello_world);
        setContentView(tv);
        
        String str = (String) getApplicationContext().getResources().getText(R.string.hello_world);
        Log.d(TAG, str);
        // 输出 08-16 11:59:27.402: D/CARLOZ(13255): Hello world!

        ImageView iv = new ImageView(MainActivity.this);
        iv.setImageResource(R.drawable.ic_launcher);
        setContentView(iv);
    }
}

    由上代码可以看出新建一个TextView或者ImageView至少要 一个参数 Context,Activity本身就是一个Context,所以可以复制。

    tv.setText(R.string.hello_world); 传入一个string id, 而setText API内部的代码是 getContext().getResources().getText(resid);  可以看到,获取资源需要用到Context。

 

 

   

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值