首先将自定义的适配器的代码列下,主要是构造函数中List<DataBean> list 数据变化了,怎么更新UI的问题
public class SaveShowAdpter extends BaseAdapter {
private Context context = null;
private LayoutInflater listContainer = null;
private List<DataBean> list;
public SaveShowAdpter(Context activity, List<DataBean> list) {
context = activity;
listContainer = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
this.list = list;
}
/**
*当list数据发生变化时候开始调用
* removeBean(DataBean dataBean)、 addBean(DataBean dataBean)
*notifyDataSetChanged 通知附属的视图基础数据已经改变,视图应该自动 刷新。
*/
public void removeBean(DataBean dataBean) {
System.out.println("list remove before:"+list.size());
list.remove(dataBean);
notifyDataSetChanged(); // notifyDataSetChanged 通知附属的视图基础数据已经改变,视图应该自动 刷新。
System.out.println("list remove after:"+list.size());
}
public void addBean(DataBean dataBean) {
System.out.println("list remove before:"+list.size());
list.add(dataBean);
notifyDataSetChanged();
System.out.println("list remove after:"+list.size());
}
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ListItemView listItemView = new ListItemView();
if (convertView == null) {
// 获取list_item布局文件的视图
convertView = listContainer.inflate(R.layout.newslist_item_focus, null);
// 获取控件对象
listItemView.digest = (TextView) convertView
.findViewById(R.id.newslist_item_digest);
listItemView.source = (TextView) convertView
.findViewById(R.id.newslist_item_source);
// 设置控件集到convertView
convertView.setTag(listItemView);
} else {
listItemView = (ListItemView) convertView.getTag();
}
// 设置文字和图片
DataBean databean = new DataBean();
databean =list.get(position);
System.out.println("---"+databean.toString()+list.get(position).toString());
listItemView.digest.setText(databean.getDetails()+" ");
listItemView.source.setText(databean.getSource()+" ");
return convertView;
}
class ListItemView { // 自定义控件集
TextView digest;
TextView source;
}
}