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}' –