A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胖小子 中级黑马   /  2015-12-7 20:51  /  866 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  这些内容都是个人刚刚理解的小问题,如果有什么需要补充的,还需要同学们留言,谢谢啦!        Context是全局信息的桥梁,在很多时候,我们都需要这个对象。访问应用程序资源:图片,字符串等
它是全局信息的共享桥梁。
    本身作为一个接口存在,我知道的有Activity 和 Servier 都是继承这个抽象类。
    例:  TextView  tv = new TextView(Context context);
    这里需要传入的Context 对象,假如当前我们需要在Activity中动态的加载这个TextView控件时,淡然我们的Activity 已经有访问全局信息的能力,所以我们直接传入this 就可以,如果是在内部类中,需要传入所在Activity类名.this,就可以了。
    SetContextView()时,其实就是在访问全局信息,当前Activity具有此功能,所以直接放入我们的资源ID就可以。
简单地来说,就是如果我们在一个java类中想访问一个全局的资源,就需要一个Context对象。
     再一个让我弄了两天才明白的代码。
   1. LayoutInflater inflater = getLayoutInflater();                                                  //调用Activity的getLayoutInflater()
   2. LayoutInflater inflater = LayoutInflater.from(context);  
   3. LayoutInflater inflater =  (LayoutInflater)context.getSystemService
                              (Context.LAYOUT_INFLATER_SERVICE);
   这三段代码在我后来稍有理解Context之后就动了, 第二行代码主要是在没有实现Context的类中,要加载layout下的布局文件,所以我们需要一个访问全局信息的对象。

3 个回复

倒序浏览
也是基于java的啊。总结的不错,受教了 。
回复 使用道具 举报
学习了
回复 使用道具 举报
顶一个!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马