Форум программистов, компьютерный форум, киберфорум
Наши страницы

Разделение сообщений в чате на группы - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android При чтении JSON файла из папки Assets разные данные http://www.cyberforum.ru/android-dev/thread1596190.html
Хочу из файла test.txt вытащить данные json. Файл лежит в папке assets. private void readJSONFile(int i) throws JSONException { // Reading text file from assets folder StringBuffer sb...
Программирование Android Можно ли взаимодействовать с Wi-Fi через USB провод на ПК? Можно ли взаимодействовать с Wifi через USB провод на пк ? http://www.cyberforum.ru/android-dev/thread1596142.html
Как заменить иконку на кнопке? Программирование Android
Не могу найти метод меняющего иконку на обычной кнопке Button в зависимости от условий. Вариант с ToggleButton не подходит.
Ошибка Error:Cause: peer not authenticated Программирование Android
Кто знает,что за ошибка? build.gradle buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0'
Программирование Android Для чего нужен метод syncState() в ActionBarDrawerToggle http://www.cyberforum.ru/android-dev/thread1595594.html
Для чего нужен метод syncState() в ActionBarDrawerToggle , не понятно, без syncState() и так все работает?
Программирование Android Необходимо найти ошибку! Есть БД и php файл,который выводит данные в формате json.НО я перепробовав все не смог понять,что не так... Помогите пожалуйста import java.util.ArrayList; import java.util.HashMap; import... подробнее

Показать сообщение отдельно
dajver
409 / 273 / 18
Регистрация: 18.09.2010
Сообщений: 1,112

Разделение сообщений в чате на группы - Программирование Android

29.11.2015, 15:28. Просмотров 270. Ответов 6
Метки (Все метки)

Всем привет, у меня тут проблема которую я без понятия как решить. В общем для одного проекта нужен чат, его я сделал, но людишки хотят что бы если юзер пишет сообщения они групировались в группы, типа как в скайпе, пишем 4 сообщения и они все под одной аватаркой, потом пишет кто то в ответ, у него так же, а потом мы пишем и снова начинается новая группа. В общем у меня сейчас все готово, только осталось как то разбивать на эти группы, пробовал много способов ни один не работает, может я туплю просто, не знаю, может кто то сталкивался и подскажет как решить.

Что у меня есть. Есть адаптер и есть фрагмент с которого я шлю сообщения в адаптер. Я приведу часть кода, который для этого используется.

Кликните здесь для просмотра всего текста
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
public class OnlineChatAdapter extends BaseCustomAdapter {
 
    private ArrayList<String> stringArrayList = new ArrayList<>();
 
    public OnlineChatAdapter(Context context) {
        this.context = context;
    }
 
    public void addItem(final String item) {
        stringArrayList.add(item);
        notifyDataSetChanged();
    }
 
    public void addSeparatorItem(final String item) {
        stringArrayList.add(item);
        mSeparatorsSet.add(stringArrayList.size() - 1);
        notifyDataSetChanged();
    }
 
    @Override
    public int getItemViewType(int position) {
        if(mSeparatorsSet.contains(position)) {
            return TYPE_SEPARATOR;
        } else {
            return TYPE_ITEM;
        }
    }
 
    @Override
    public int getViewTypeCount() {
        return super.getViewTypeCount() + 1;
    }
 
    @Override
    public int getCount() {
        return stringArrayList.size();
    }
 
    @Override
    public String getItem(int position) {
        return stringArrayList.get(position);
    }
 
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        Holder holder = new Holder();
        String model = null;
        if(stringArrayList.size() > 0) {
            model = getItem(position);
        }
 
        int type = getItemViewType(position);
        if(type == TYPE_ITEM) {
            convertView = inflater.inflate(R.layout.item_full_issue_user, null);
            holder.text = (TextView) convertView.findViewById(R.id.message);
            holder.date = (TextView) convertView.findViewById(R.id.date);
            holder.corner = (ImageView) convertView.findViewById(R.id.corner);
            holder.avatar = (ImageView) convertView.findViewById(R.id.avatar);
            holder.date.setVisibility(View.GONE);
 
            if(model != null) {
                holder.text.setText(model);
            }
            
            //это надо прятать
            holder.avatar.setVisibility(View.INVISIBLE);
            holder.corner.setVisibility(View.INVISIBLE);
            
        } else {
            convertView = inflater.inflate(R.layout.item_full_issue_admin, null);
            holder.text = (TextView) convertView.findViewById(R.id.message);
            holder.date = (TextView) convertView.findViewById(R.id.date);
            holder.corner = (ImageView) convertView.findViewById(R.id.corner);
            holder.avatar = (ImageView) convertView.findViewById(R.id.avatar);
            holder.date.setVisibility(View.GONE);
 
            if(model != null) {
                holder.text.setText(model);
            }
 
            //это надо прятать
            holder.avatar.setVisibility(View.INVISIBLE);
            holder.corner.setVisibility(View.INVISIBLE);
        }
        return convertView;
    }
 
    public class Holder {
        TextView text;
        TextView date;
        ImageView corner;
        ImageView avatar;
    }
}


для теста вот так заполняю адаптер
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
OnlineChatAdapter onlineChatAdapter = new OnlineChatAdapter(context);
listView.setAdapter(onlineChatAdapter);
 
onlineChatAdapter.addItem("lalalala");
        onlineChatAdapter.addItem("lalalala");
        onlineChatAdapter.addItem("lalalala");
        onlineChatAdapter.addSeparatorItem("papapapa");
        onlineChatAdapter.addItem("lalalala");
        onlineChatAdapter.addSeparatorItem("papapapa");
        onlineChatAdapter.addSeparatorItem("papapapa");
        onlineChatAdapter.addSeparatorItem("papapapa");
        onlineChatAdapter.addItem("lalalala");
        onlineChatAdapter.addItem("lalalala");
        onlineChatAdapter.addItem("lalalala");
        onlineChatAdapter.addSeparatorItem("papapapa");
        onlineChatAdapter.addItem("lalalala");
        onlineChatAdapter.addSeparatorItem("papapapa");
        onlineChatAdapter.addSeparatorItem("papapapa");
        onlineChatAdapter.addSeparatorItem("papapapa");
Подскажите что сделать что бы работало как надо, мозг уже сломал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru