Я хочу сделать что-то вроде этого.без изменений/черный экран by 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 (контекст Context, ArrayList твиты, \t \t \t HashMap пользователи) { \t \t mInflater = LayoutInflater.from (контекст); \t \t this.tweets = tweets; \t \t this.users = пользователи; \t \t Collections.sort (this.tweets, new TweetTimeComparator()); \t} ' –