在之前的《3min初识ListView(4)-inflate打气筒实现复杂布局》我们使用inflate获得了View,成功将布局资源转化成了一个View对象。
今天我们学习一下通过inflate返回View的3种方式:
之前我们使用的方法是:
view = View.inflate(getApplicationContext(),R.layout.item,null);
简单明了。
今天我们说的第二种方法是:
view = LayoutInflater.from(getApplicationContext()).inflate(R.layout.item,null);
跟第一种方法相比略长,不过也还不错。
今天我们说的第三种方法是:
LayoutInflater layoutInflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
view = layoutInflater.inflate(R.layout.item,null);
为什么这么长,这么冗余。
3种方法效果都一样,但是万万没想到的是。
最长的第三种方法最常用。
为啥?
之后我们学习Google定义的适配器ArrayAdapter时就会看到,
因为Google工程师在源码中就用到了第三种方法。