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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
sergei1094
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 17
#1

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

21.10.2016, 14:12. Просмотров 139. Ответов 0

Здравствуйте. Подскажите пожалуйста что я делаю не так? У меня адаптер принимает данные с сервера и помещает их в листвью. Затем, когда поступают новые данные, я пытаюсь обновить адаптер...и как бы всё хорошо, но.. Когда приходят новые данные, например 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):

Программа вылетает после обновления на 5.0 - Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Я недавно обновил ОС своего смартфона до 5.0. Моя программа на нем...

Проблемы после обновления SDK - Программирование Android
Обновил сегодня SDK, и возникла проблема - класс ресурсов R во вновь созданных проектах не видит ресурсы xml-файлов из папки res. Ни у...

Eclipse чудит после обновления - Программирование Android
Здравствуйте. Обновил Eclipse. После обновления возникли траблы. При запуске приложения перестал создаваться/пересоздаваться apk файл. То...

Ошибка соединения с сервером после обновления OC с 4.4 до 5 - Программирование Android
Привет всем андроидоведам!!! Столкнулся вот с такой незадачей: при отладке приложения шлю DELETE запрос на сервер (сервер мой...

После обновления HAXM не запускаются эмуляторы - Программирование Android
Всем привет! Обновил AS до 2.0, эмуляторы работали. Сегодня обновил HAXM, как он попросил. После этого эмуляторы стартуют невизуально,...

После обновления студий неправильно создается проект - Программирование Android
После того как обновил студию, в файле...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2016, 14:12
Привет! Вот еще темы с ответами:

После обновления планшета с 4.4 на 5.1 перестало работать приложение - Программирование Android
Что нужно сделать чтобы все заработало?) E/AndroidRuntime: FATAL EXCEPTION: main Process: ru.arion.indication, PID:...

Как обновить textview в фрагменте после обновления preference - Программирование Android
Вечер добрый. В общем потратил весь день что бы разобраться с этим вопросом, но все безуспешно. Необходимо обновить значение 2 textview...

Появилось сообщение App not installed после обновления системы до 6.0.1 - Программирование Android
Проблема такая, написал приложение на заказ, на андрюхе 5 все работало, но телефон клиента обновился до 6.0.1 версии андроида и при попытке...

Не подписывается файл apk после обновления Android Studio - Программирование Android
Столкнулся с вот какой проблемой. Обновил Android Studio до версии 2.3, gradle до 3.3 Вроде бы все нормально, ошибок нет, приложение...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru