我正在使用以下代码填充我的ListView -
setListAdapter(new NotifListAdapter(this));
Run Code Online (Sandbox Code Playgroud)
我在我的活动的onCreate()方法中调用它,并且在第一次创建时,它填充正常.但是当我返回并返回此活动时,它会在List中显示两倍的行数!我检查了我的数据库,它绝对不是后端问题.此外,当我强制关闭活动并重新启动它时,它会填充正常.有人能提供对这个问题的见解吗?
这是列表适配器 -
public class NotifListAdapter extends BaseAdapter {
public NotifListAdapter(Context context) {
mContext = context;
}
public int getCount() {
return rnList.size();
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
NotifView nv;
RichNotification rn = rnList.get(position);
if (convertView == null) {
nv = new NotifView(mContext, rn.getSubject(),
rn.getContent(), rn.getDate());
} else {
nv = (NotifView) convertView;
nv.setTitle(rn.getSubject());
nv.setDialogue(rn.getContent());
nv.setDate(rn.getDate());
}
return nv;
}
/**
* Remember our context so we can use it when constructing views.
*/
private Context mContext;
@Override
public Object getItem(int position) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
您的适配器正在显示以下数据rnList:您可能正在添加新对象rnList而不先清除它,这就是您返回活动时获得两倍行数的原因.在添加要rnList调用的数据之前rnList.clear();,这应该可以解决您的问题.
| 归档时间: |
|
| 查看次数: |
1798 次 |
| 最近记录: |