Форум программистов, компьютерный форум CyberForum.ru

Адаптер выводит повторные значения после обновления - Android

Восстановить пароль Регистрация
 
sergei1094
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 17
21.10.2016, 14:12     Адаптер выводит повторные значения после обновления #1
Здравствуйте. Подскажите пожалуйста что я делаю не так? У меня адаптер принимает данные с сервера и помещает их в листвью. Затем, когда поступают новые данные, я пытаюсь обновить адаптер...и как бы всё хорошо, но.. Когда приходят новые данные, например 2 сообщения, они добавляются в адаптер. Но вместе с новыми данными, добавляются и все остальные старые данные..Хотя по логам вижу что старых данных, поступивших с сервера у меня нет. Выходит что не выполняю data.clear(). Выполняю...data.clear(), мой листвью становится абсолютно пустым до следующего запроса Handler.postDelayed();. Снова запрос - листвью полный и с новыми данными...5 сек проходит и мой лист опять чистый...и так постоянно. Как это перебороть?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
public class ChatMsgAdapter extends ArrayAdapter<ResponseMsgArray> {
 
private Context context;
private ArrayList<ResponseMsgArray> data;
 
 
protected String LV_KEY = Auth.key;
protected int LV_USID = Integer.parseInt(Auth.id);
protected int GET_ID = Integer.parseInt(FriendActivity.get_id);
 
 
String LOG_TAG = "FriendLOG";
 
public ChatMsgAdapter(Context context, ArrayList<ResponseMsgArray> values) {
    super(context,R.layout.activity_friend_msg, values);
 
    this.data = values;
    this.context = context;
}
 
@Override
public View getView(int position, View convertView, ViewGroup parent) {
 
    LayoutInflater inflater = LayoutInflater.from(context);
 
    View v;
    int type = getItemViewType(position);
 
    if(type == LV_USID) {
        v = inflater.inflate(R.layout.activity_friend_msg_adapter, null);
 
        TextView user_id_msg = (TextView) v.findViewById(R.id.id_msg);
        TextView user_text = (TextView) v.findViewById(R.id.msg);
        TextView user_date = (TextView) v.findViewById(R.id.msg_time);
 
        user_text.setText(data.get(position).getMsg());
        user_date.setText(data.get(position).getMsg_time());
        user_id_msg.setText(data.get(position).getMsg_id());
 
    } else if (type == GET_ID) {
        v = inflater.inflate(R.layout.talker, null);
 
        TextView talker_text = (TextView) v.findViewById(R.id.msg);
        TextView talker_date = (TextView) v.findViewById(R.id.msg_time);
        talker_text.setText(data.get(position).getMsg());
        talker_date.setText(data.get(position).getMsg_time());
 
    } else {
        //Если нет например сообщений
        v = inflater.inflate(R.layout.msg_null, null);
    }
 
    return v;
}
 
public void setData(ArrayList<ResponseMsgArray> newData) {
    addAll(newData);
    notifyDataSetChanged();
}
 
 
@Override
public int getItemViewType(int position) {
 
    int newPosition = Integer.parseInt(data.get(position).getMsg_id_us());
    return newPosition;
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2016, 14:12     Адаптер выводит повторные значения после обновления
Посмотрите здесь:

Android Проблемы после обновления SDK
Eclipse чудит после обновления Android
Volley делает повторные запросы Android
Android После обновления студий неправильно создается проект
Android Программа вылетает после обновления на 5.0
Android Ошибка соединения с сервером после обновления OC с 4.4 до 5
Android После обновления HAXM не запускаются эмуляторы
Появилось сообщение App not installed после обновления системы до 6.0.1 Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему

Метки
android
Опции темы

Текущее время: 19:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru