2017-03-11 36 views

回答

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。

相關問題