1.在泛型的帮助下,您可以使用单个 ArrayList 处理两个 arraylist。
例如在适配器中:
setListData(ArrayList<T> pListData)
{
mListData=pListData;
}
在视图中
getView(int position, View convertView, ViewGroup parent){
T commonModel= getItem(position);
if(T instanceof ArrayListOneModel){
ArrayListOneModel model1=(ArrayListOneModel)T;
do stuf for first arraylit...
}
}
- 如果您使用相同的模型,您可以为 arraylist 设置一个类型(枚举),并且在显示期间您可以检查它。
3.否则,您可以先在arraylist中添加旧数据,然后使用collection
addAll()在其中添加第二个最新消息列表。然后
adapter.notifyDataSetChanged()
将设置第一条旧消息,然后将在您的列表中设置最新消息
更多说明:
在第二种方法中,如果两个数组列表都有不同的模型,则在两个模型中都包含一个枚举作为 setter getter。
public enum eType{
FIRST_LIST_TYPE,SECOND_LIST_TYPE
}
在从模型中的不同数据库的集合类型中获取数据期间。例如
public class model{
private enum eType;
// 来自您的 DB 的其他 setter getter 值 /** * Setter getter: */
public void seteType(enum eType)
{
this.eType = eType;
}
public enum geteType()
{
return eType;
}
}
在获取数据集类型期间,例如
Model model = new Model();
model.seteType(eType.FIRST_LIST_TYPE) ;
//same for 2nd db.
& simply check type inside getView() according to your requirement.