您的位置:首页 > 移动开发 > Android开发

ListView刷新:自定义adapter 调用notifyDatasetChanged()方法不起作用 的解决方案

2014-08-09 13:58 423 查看

1.自定义的adapter(自定义一个refresh方法) 

2.在外部需要刷新的时候,不再调用notifyDatasetChanged()方法,改为调用refresh()方法。


具体代码如下:
public class BlackNumberAdapter extends BaseAdapter {

private List<String> data;
private Context context;

public BlackNumberAdapter(List<String>  data, Context context) {
super();
this.data = data;
this.context = context;
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}

public void refresh(List<String> d){
data=d;
notifyDataSetChanged();
}

@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return data.get(arg0);
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}

@Override
public View getView(int location, View v, ViewGroup arg2) {
// TODO Auto-generated method stub

v=LayoutInflater.from(context).inflate(R.layout.blackitem, null);

TextView tv_number=(TextView) v.findViewById(R.id.tv_blackitem_number);
String s_number=data.get(location);
tv_number.setText(s_number);

return v;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android listview 及时刷
相关文章推荐