我正在設置OnItemClickListener
,我看不出兩種方法之間的區別,它們都工作得很好,我無法從文檔中理解它們之間的區別。ArrayList.get(int index)和ArrayAdapter.getItem(int position)方法之間的區別是什麼?
1
A
回答
4
它們在不同的類上定義 - 這是唯一的區別。
該適配器方法調用另一個。
ArrayAdapter<T>
Android Source code.
public T getItem(int position) {
return mObjects.get(position);
}
你其實並不 「需要」 獨立存儲一個ArrayList在你的類。
ArrayAdapter擁有自己的add()
方法,您可以調用不帶列表的構造函數。
public ArrayAdapter(@NonNull Context context, @LayoutRes int resource) {
this(context, resource, 0, new ArrayList<>());
}
0
主要區別在於適配器更適合在UI中顯示信息。因此,例如,如果必須在ListView中顯示列表,則只能使用適配器。
主要優點是您不必同時管理列表和適配器,並且UI將在陣列更新時更新。但是,您可能必須致電
adapter.notifyDataSetChanged();
在某個時刻刷新UI。
相關問題
- 1. static_cast <int>(var)和*(int *)&var之間的區別是什麼?
- 2. (int *)arr [2]和int * arr [2]之間的區別是什麼?
- 3. int *和int []之間的實際區別是什麼?
- 4. int [] []和int [,]之間的區別是什麼?
- 5. Android微調視圖:setSelection(int position)和setSelection(int position,boolean animate)之間的區別?
- 6. (int)和intval()之間有什麼區別?
- 7. 新的int和new(int)之間的C++有什麼區別?
- 8. int * x []和int(* x)[]之間的區別?
- 9. C++:int * x [5]和int(* x)[5]之間有什麼區別?
- 10. int p = *(int *)i和int p = *(int *)&i之間的區別
- 11. Python是什麼EVAL之間的區別和int
- 12. Python 3中int()和floor()之間的區別是什麼?
- 13. double a = a + int b和int a + = double b之間的區別是什麼?
- 14. int [] x;有什麼區別?和int x [];?
- 15. 使用int [] []和int [,]有什麼區別?
- 16. int(1)和int(8)有什麼區別?
- 17. void(int)和void(*)(int)有什麼區別?
- 18. int someInts [3]和int * someInts = new int [3]之間的區別?
- 19. sizeof(int)和sizeof(int *)之間的區別是什麼?此語句是否爲int * numbers [] = {....}是否正確?
- 20. 「int * a = new int」和「int * a = new int()」有什麼區別?
- 21. swap(int&a,int&b)和swap(int * a,int * b)。有什麼區別?
- 22. 是什麼INT主要的區別(INT,CHAR **)和INT主(INT ARGC,字符** argv的)
- 23. int(floatvar)和(int)floatvar之間是否有區別?
- 24. C#中char和int之間的區別#
- 25. int,NSInteger和NSUInteger之間的區別
- 26. uint和unsigned int之間的區別?
- 27. Python 3.5 - '//'和'int()'之間的區別
- 28. int和Integer之間的區別
- 29. Int和Uint8之間的區別swift
- 30. void main和int之間的區別主