0
我想要做这样的事情。通过notifyDataSetChanged()修改/黑屏;
同时按刷新按钮,它会刷新列表。活动代码是这样的:
adapter = new TweetAdapter(Welcome.this, tweets, users);
tweetsList.setAdapter(adapter);
private void refreshAdapter() {
adapter.clear();
adapter.refresh(tweets, users);
}
refreshAdapter()
当我需要更改列表项目时调用。这里tweets
& users
是ArrayList
& HashMap
项目
和适配器的部分是这样的:
public void clear() {
this.tweets.clear();
this.users.clear();
}
public void refresh(ArrayList<Tweet> tweets, HashMap<String, User> users) {
this.tweets.addAll(tweets);
this.users.putAll(users);
Collections.sort(this.tweets, new TweetTimeComparator());
notifyDataSetChanged();
}
可惜notifyDataSetChanged();
不工作。通过点击刷新该列表要么变黑(最大时间),要么没有响应(某个时间)。
请告诉我,如果你发现错误或建议我该怎么做。
那么该怎么办? this.users.clear();不是太重要,因为我可以使用旧的用户设置,但this.tweets.clear();对于刷新新推文很重要。 –
首先想看到你的适配器上的构造,以确认所有... –
'公共TweetAdapter(上下文的背景下,ArrayList的鸣叫, \t \t \t的HashMap <字符串,用户>用户){ \t \t mInflater = LayoutInflater.from(上下文); \t \t this.tweets = tweets; \t \t this.users = users; \t \t Collections.sort(this.tweets,new TweetTimeComparator()); \t}' –