2011-07-14 31 views
1

我指的是The Busy Coder's Guide to Android Development。这是一本写得很好的书,有很多有用的技巧。我还没有买一个,我刚刚完成了一个样章。“繁忙编码器Android开发指南”中的IconicAdapter示例

在第103页

class IconicAdapter extends ArrayAdapter<String> { 
    IconicAdapter() { 
     super(DynamicDemo.this, R.layout.row, R.id.label, items); 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     View row=super.getView(position, convertView, parent); 
     ImageView icon=(ImageView)row.findViewById(R.id.icon); 

然而,在第105页

class IconicAdapter extends ArrayAdapter<String> { 
    IconicAdapter() { 
     super(DynamicDemo.this, R.layout.row, items); 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     LayoutInflater inflater=getLayoutInflater(); 
     View row=inflater.inflate(R.layout.row, parent, false); 
     TextView label=(TextView)row.findViewById(R.id.label); 

我在想,为什么我们需要在示例页面105使用getLayoutInflater?我们不能只通过

View row=super.getView(position, convertView, parent); 

获取视图的样章可以在http://commonsware.com/Android/excerpt.pdf

回答

2

它看起来像在第一种情况下的超类已经膨胀为你的观点,所以你可以做发现一个super.getView()从它。

而在第二,它看起来像你正在处理你自己的膨胀,因此将需要显示的代码。