Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
sergei1094
0 / 0 / 0
Регистрация: 28.01.2016
Сообщений: 17
#1

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

21.10.2016, 14:12. Просмотров 165. Ответов 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;
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2016, 14:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Адаптер выводит повторные значения после обновления (Программирование Android):

Eclipse чудит после обновления
Здравствуйте. Обновил Eclipse. После обновления возникли траблы. При запуске...

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

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

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

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

После обновления планшета с 4.4 на 5.1 перестало работать приложение
Что нужно сделать чтобы все заработало?) E/AndroidRuntime: FATAL EXCEPTION:...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2016, 14:12
Привет! Вот еще темы с решениями:

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

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

Не подписывается файл apk после обновления Android Studio
Столкнулся с вот какой проблемой. Обновил Android Studio до версии 2.3, gradle...

Как обновить textview в фрагменте после обновления preference
Вечер добрый. В общем потратил весь день что бы разобраться с этим вопросом, но...


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

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

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