2011-07-14 33 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()從它。

而在第二,它看起來像你正在處理你自己的膨脹,因此將需要顯示的代碼。