2015-09-15 66 views
0

我正在關注以下tutorial。我正在學習如何使用/創建自定義適配器。在下面的代碼中,超級構造函數讓我有點困惑。CustomArrayAdapter中的超級構造函數

public class UsersAdapter extends ArrayAdapter<User> { 
    public UsersAdapter(Context context, ArrayList<User> users) { 
     super(context, 0, users); 
     } 
    ...... 
} 

當我使用簡單ArrayAdapterArrayAdapter構造函數採用3個PARAMATERS:contextresourcelist

ArrayAdapter<string> myArrayAdapter= new ArrayAdapter<string>(this,Android.Resource.Layout.SimpleItem1, myList) 

以下超級構造還需要3個PARAMATERS,但令人困惑的部分是爲0是什麼0表示在下面的超級構造的第二個參數?

super(context, 0, users); 
+1

這裏零代表包含實例化視圖時使用的佈局的佈局文件的資源ID – Shriram

+0

好吧我知道這是資源ID,但我想知道什麼0代表?任何參考?例如,如果我把1,那麼它是否有意義? – hotspring

+1

在本教程的情況下與其他任何int都一樣好,因爲當調用getView時inflater發生,並且教程未調用super.getView,值將被忽略 – Blackbelt

回答

1

這是適配器實例化視圖時包含佈局的佈局文件的資源ID。爲什麼不先閱讀文檔?

+0

好吧,我明白這是資源ID,但我想知道什麼0代表?任何參考?例如,如果我把1,那麼是指什麼? – hotspring

+0

0表示默認值。這就像告訴適配器:「我不給你我的佈局的res ID,因爲我會自己處理它(或類似的東西)」 – Mike

+0

感謝邁克,這是我需要知道的。有沒有圖表/文件?例如,我可以通過1嗎? – hotspring