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

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

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

Баг с items при прокручивании ListView - Программирование Android

25.05.2015, 22:15. Просмотров 1050. Ответов 38
Метки нет (Все метки)

Суть такая, что выводится список ListView. Там items могут быть двух разных видов(ну тоесть два немного разных Layout) в зависимости от данных которые выводятся. Когда все выводится то все хорошо, но если прокрутить в низ список так что бы пару пунктов списка спрятались то потом если прокрутить обратно то эти элементы могут поменять совй layout, на примем если в начале, в 1 элементе текст был с лева, а во втором с права, то потом они могут поменятся 1-текст с права, 2 - текст с лева (сам текст не меняется) .. Что это такое и как с этим боротся ?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2015, 22:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Баг с items при прокручивании ListView (Программирование Android):

ListView ошибка при прокручивании - Программирование Android
Читаю с json файла данные и добавляю их в ListView, первые 5 отображаются, а когда начинаю прокручивать вниз он выбивает ошибку. ...

Непонятный баг в ListView - Программирование Android
В общем, суть такова: Имеется список контактов в ListView. Каждый пункт содержит аватарку, имя и телефон. Адаптер ListView: ...

После вызова notifydataset() items в listview "моргают" - Программирование Android
столкнулся с такой проблемой, перерыл stackoverflow, ответа не нашел есть список listview, который показывает картинки, загружая их из...

ListView: сбивается содержимое ImageView элемента при скроллинге + как сделать выделение пункта списка при нажатии? - Программирование Android
1. Есть свой класс ContactsSimpleCursorAdapter, в методе public void bindView(View view, Context context, Cursor c) которого происходит...

Как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка? - Программирование Android
Здравствуйте, подскажите, пожалуйста, как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка? ...

Цвет ListView при скролинге - Программирование Android
Добрый день. Есть ListView с белым фоном, на время скролинга фон становиться черным, буквы белым. Где то можно настроить цвет на время...

38
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
29.05.2015, 19:13  [ТС] #16
Вообще ничего не помогло, все одно и тоже ))
Кину последний вариант кода ...
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
95
96
97
98
package adapters;
 
import java.util.List;
 
import com.example.wall_call.R;
 
import viewTemplate.mesageTemplate;
 
 
import model.MesageModel;
import android.app.Activity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import android.widget.Toast;
 
public class MesageAdapter extends ArrayAdapter<MesageModel> {
    private List<MesageModel> objects;
    private Activity context;
    public MesageAdapter(Activity context, List<MesageModel> objects) {
        super(context, R.layout.mesager_layout, objects);
        this.objects = objects;
        this.context = context;
    }
    
    @Override
    public int getCount() {
        return objects.size();
    }
    @Override
    public MesageModel getItem(int position) {
        return objects.get(position);
    }
    
    @Override
    public long getItemId(int position) {
        return position;
    }
    
    @Override
    public int getViewTypeCount() {
        return 2;
    }
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        
        final MesageModel mesagemodel = objects.get(position);
        final ViewHolder holder;
        
        if (convertView == null) {
            holder = new ViewHolder();
            holder.viewType = mesagemodel.getVov();
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        
            if(holder.viewType.compareTo("1")==0){
                convertView = inflater.inflate(R.layout.my_mesage_list, parent, false);
            } else {
                convertView = inflater.inflate(R.layout.friend_mesage_list, parent, false);
            }
            
        
            holder.textMesage = (TextView) convertView.findViewById(R.id.textMesage);
            holder.timeText = (TextView) convertView.findViewById(R.id.viewTime);
            convertView.setTag(holder);
 
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        
        holder.textMesage.setText(mesagemodel.getTextMesage());
        holder.timeText.setText("time");
 
        convertView.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(),mesagemodel.getVov() , Toast.LENGTH_SHORT).show();
                //Toast.makeText(getContext(),chatModel.getFriendId() , Toast.LENGTH_SHORT).show();
                //chatModel.getFriendId();
                //((Activity) context).startActivity(new Intent((((Activity) context)), MesageList.class));
            }
        });
 
        return convertView;
    }
    
    private static class ViewHolder{
        private TextView textMesage;
        private TextView timeText;
        private String viewType;
    }
 
}
Добавлено через 1 минуту
Цитата Сообщение от CoolMind Посмотреть сообщение
Это что за проверка?
Код Java(TM) 2 Platform Standard Edition 5.0
1
if(mesagemodel.getVov().compareTo("1")==0){
в модели лежит значение "vov" по которому определяется какой layout подстовлять (1 || 0)

Добавлено через 7 минут
Armagedo, это тоже не сработало (
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
29.05.2015, 19:14 #17
Так, а где ты проверяешь какой тебе convertview подсовывает адаптер и подходит ли он тебе?

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
@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        
        final MesageModel mesagemodel = objects.get(position);
        final ViewHolder holder;
        
        if (convertView == null) {
            holder = new ViewHolder();
            holder.viewType = mesagemodel.getVov();
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        
            if(holder.viewType.compareTo("1")==0){
                convertView = inflater.inflate(R.layout.my_mesage_list, parent, false);
            } else {
                convertView = inflater.inflate(R.layout.friend_mesage_list, parent, false);
            }
            
        
            holder.textMesage = (TextView) convertView.findViewById(R.id.textMesage);
            holder.timeText = (TextView) convertView.findViewById(R.id.viewTime);
            convertView.setTag(holder);
 
        } else {
            holder = (ViewHolder) convertView.getTag();
            if(holder.viewType.compareTo(mesagemodel.getVov())!=0){
              if(holder.viewType.compareTo("1")==0)
                   convertView = inflater.inflate(R.layout.my_mesage_list, parent, false);
                       else 
                           convertView = inflater.inflate(R.layout.friend_mesage_list, parent, false);
            }
        }
        
        holder.textMesage.setText(mesagemodel.getTextMesage());
        holder.timeText.setText("time");
 
        convertView.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(),mesagemodel.getVov() , Toast.LENGTH_SHORT).show();
                //Toast.makeText(getContext(),chatModel.getFriendId() , Toast.LENGTH_SHORT).show();
                //chatModel.getFriendId();
                //((Activity) context).startActivity(new Intent((((Activity) context)), MesageList.class));
            }
        });
 
        return convertView;
    }
0
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
29.05.2015, 19:38  [ТС] #18
Armagedo, Ошибку выкидывает .....
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
05-29 15:36:10.291: E/AndroidRuntime(3197): FATAL EXCEPTION: main
05-29 15:36:10.291: E/AndroidRuntime(3197): java.lang.NullPointerException
05-29 15:36:10.291: E/AndroidRuntime(3197):     at adapters.MesageAdapter$ViewHolder.access$2(MesageAdapter.java:111)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at adapters.MesageAdapter.getView(MesageAdapter.java:81)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.AbsListView.obtainView(AbsListView.java:2143)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.ListView.measureHeightOfChildren(ListView.java:1246)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.ListView.onMeasure(ListView.java:1158)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.View.measure(View.java:15518)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.View.measure(View.java:15518)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.View.measure(View.java:15518)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.View.measure(View.java:15518)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2176)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.View.measure(View.java:15518)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1874)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1089)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1265)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.Choreographer.doCallbacks(Choreographer.java:562)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.Choreographer.doFrame(Choreographer.java:532)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.os.Handler.handleCallback(Handler.java:725)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.os.Looper.loop(Looper.java:137)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at android.app.ActivityThread.main(ActivityThread.java:5041)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at java.lang.reflect.Method.invokeNative(Native Method)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at java.lang.reflect.Method.invoke(Method.java:511)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-29 15:36:10.291: E/AndroidRuntime(3197):     at dalvik.system.NativeStart.main(Native Method)
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
29.05.2015, 19:44 #19
Естественно, LayoutInflater inflater не инициализирован же ж...

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
@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        
        final MesageModel mesagemodel = objects.get(position);
        final ViewHolder holder;
        
        if (convertView == null) {
            holder = new ViewHolder();
            holder.viewType = mesagemodel.getVov();
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        
            if(holder.viewType.compareTo("1")==0){
                convertView = inflater.inflate(R.layout.my_mesage_list, parent, false);
            } else {
                convertView = inflater.inflate(R.layout.friend_mesage_list, parent, false);
            }
            
        
            holder.textMesage = (TextView) convertView.findViewById(R.id.textMesage);
            holder.timeText = (TextView) convertView.findViewById(R.id.viewTime);
            convertView.setTag(holder);
 
        } else {
            holder = (ViewHolder) convertView.getTag();
            if(holder.viewType.compareTo(mesagemodel.getVov())!=0){
              LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE); 
              if(holder.viewType.compareTo("1")==0)
                   convertView = inflater.inflate(R.layout.my_mesage_list, parent, false);
                       else 
                           convertView = inflater.inflate(R.layout.friend_mesage_list, parent, false);
            }
        }
        
        holder.textMesage.setText(mesagemodel.getTextMesage());
        holder.timeText.setText("time");
 
        convertView.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(),mesagemodel.getVov() , Toast.LENGTH_SHORT).show();
                //Toast.makeText(getContext(),chatModel.getFriendId() , Toast.LENGTH_SHORT).show();
                //chatModel.getFriendId();
                //((Activity) context).startActivity(new Intent((((Activity) context)), MesageList.class));
            }
        });
 
        return convertView;
    }
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
29.05.2015, 19:48 #20
Я не знаю, но всегда было "Context context"
Java
1
Activity context
Чего там в 81 строке?

Добавлено через 2 минуты
Armagedo,
Java
1
2
3
4
5
if (convertView == null) {
   LayoutInflater inflater = ...
} else {
   LayoutInflater inflater = ...
}
Так можно чтоли?
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
29.05.2015, 19:51 #21
Цитата Сообщение от Rube Посмотреть сообщение
Так можно чтоли?
Ну, там еще одно условие есть при else, так что оно так да не так
1
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
29.05.2015, 19:51  [ТС] #22
Armagedo,
Ну я хоть и в java лох лохом но до этого додумался, я просто
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
Вынес выше чем
f (convertView == null) {

Ради интереса сделал так же как у вас, тоже самое ...
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
29.05.2015, 19:55 #23
Что то же самое?
1
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
29.05.2015, 22:17  [ТС] #24
Armagedo,
Выкидывает из приложения с ошибкой
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
30.05.2015, 00:24 #25
EgorDybovik, что у вас в 81 строке? Там проявляется ошибка NullPointer Exception, насколько понял. Попробуйте закомментировать часть кода.
1
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
30.05.2015, 18:34  [ТС] #26
В этой строчке он ругается на
Java
1
2
holder.textMesage.setText(mesagemodel.getTextMesage());
holder.timeText.setText("time");
Но не могу понять почему
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
30.05.2015, 18:41 #27
Так при convertview не null у тебя ни textMesage, ни timeText не инициализируются.
1
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
30.05.2015, 18:50  [ТС] #28
Цитата Сообщение от Armagedo Посмотреть сообщение
Так при convertview не null у тебя ни textMesage, ни timeText не инициализируются.
ничего не понял
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
30.05.2015, 18:51 #29
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        
        final MesageModel mesagemodel = objects.get(position);
        final ViewHolder holder;
        
        if (convertView == null) {
            holder = new ViewHolder();
            holder.viewType = mesagemodel.getVov();
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        
            if(holder.viewType.compareTo("1")==0){
                convertView = inflater.inflate(R.layout.my_mesage_list, parent, false);
            } else {
                convertView = inflater.inflate(R.layout.friend_mesage_list, parent, false);
            }
            
        
            holder.textMesage = (TextView) convertView.findViewById(R.id.textMesage);
            holder.timeText = (TextView) convertView.findViewById(R.id.viewTime);
            convertView.setTag(holder);
 
        } else {
            holder = (ViewHolder) convertView.getTag();
            if(holder.viewType.compareTo(mesagemodel.getVov())!=0){
              LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE); 
              if(holder.viewType.compareTo("1")==0)
                   convertView = inflater.inflate(R.layout.my_mesage_list, parent, false);
                       else 
                           convertView = inflater.inflate(R.layout.friend_mesage_list, parent, false);
 
              holder.textMesage = (TextView) convertView.findViewById(R.id.textMesage);
              holder.timeText = (TextView) convertView.findViewById(R.id.viewTime);
              convertView.setTag(holder);
            }
        }
        
        holder.textMesage.setText(mesagemodel.getTextMesage());
        holder.timeText.setText("time");
 
        convertView.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(),mesagemodel.getVov() , Toast.LENGTH_SHORT).show();
                //Toast.makeText(getContext(),chatModel.getFriendId() , Toast.LENGTH_SHORT).show();
                //chatModel.getFriendId();
                //((Activity) context).startActivity(new Intent((((Activity) context)), MesageList.class));
            }
        });
 
        return convertView;
    }
1
EgorDybovik
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 128
30.05.2015, 18:58  [ТС] #30
Вот весь мой код:
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package adapters;
 
import java.util.List;
 
import com.example.wall_call.R;
 
import viewTemplate.mesageTemplate;
 
 
import model.MesageModel;
import android.app.Activity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import android.widget.Toast;
 
public class MesageAdapter extends ArrayAdapter<MesageModel> {
    private List<MesageModel> objects;
    private Activity context;
    public MesageAdapter(Activity context, List<MesageModel> objects) {
        super(context, R.layout.mesager_layout, objects);
        this.objects = objects;
        this.context = context;
    }
    
    @Override
    public int getCount() {
        return objects.size();
    }
    @Override
    public MesageModel getItem(int position) {
        return objects.get(position);
    }
    
    @Override
    public long getItemId(int position) {
        return position;
    }
    
    @Override
    public int getViewTypeCount() {
        return 2;
    }
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        final MesageModel mesagemodel = objects.get(position);
        final ViewHolder holder;
        View v = convertView;
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        if (v == null) {
            holder = new ViewHolder();
            holder.viewType = mesagemodel.getVov();
            
            //Log.d("myLog",mesageTempl.viewType);
            
            if(holder.viewType.compareTo("1")==0){
                v = inflater.inflate(R.layout.my_mesage_list, parent, false);
            } else {
                v = inflater.inflate(R.layout.friend_mesage_list, parent, false);
            }
            
        
            
            holder.textMesage = (TextView) v.findViewById(R.id.textMesage);
            holder.timeText = (TextView) v.findViewById(R.id.viewTime);
            
            v.setTag(holder);
 
        } else {
            
            
            holder = (ViewHolder) v.getTag();
            if(holder.viewType.compareTo(mesagemodel.getVov())!=0){
                if(holder.viewType.compareTo("1")==0){
                    v = inflater.inflate(R.layout.my_mesage_list, parent, false);
                } else {
                    v = inflater.inflate(R.layout.friend_mesage_list, parent, false);
                }
                holder.textMesage = (TextView) v.findViewById(R.id.textMesage);
                holder.timeText = (TextView) v.findViewById(R.id.viewTime);
                convertView.setTag(holder);
            }
        }
        
        
        holder.textMesage.setText(mesagemodel.getTextMesage());
        holder.timeText.setText("time");
 
        /*v.setOnClickListener(new OnClickListener() {
 
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(),mesagemodel.getVov() , Toast.LENGTH_SHORT).show();
                //Toast.makeText(getContext(),chatModel.getFriendId() , Toast.LENGTH_SHORT).show();
                //chatModel.getFriendId();
                //((Activity) context).startActivity(new Intent((((Activity) context)), MesageList.class));
            }
        });*/
 
        return v;
    }
    
     static class ViewHolder{
         TextView textMesage;
         TextView timeText;
         String viewType;
    }
 
}
Ругается теперь на строку 78
0
30.05.2015, 18:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2015, 18:58
Привет! Вот еще темы с ответами:

NullPointerException при поиске ListView - Программирование Android
Здравствуйте! Есть список (ListView), заполненный данными, есть строка поиска (EditText). Список отображается верно, но если ввести любой...

Скрывать Toolbar при пролистывании ListView - Программирование Android
Подскажите как реализовать, когда листаешь ListView, что бы Toolbar исчезал? Спасибо)

Ошибка при выборе Item в ListView - Программирование Android
Здравствуйте уважаемые форумчане. Не могу определить где ошибся. У меня есть ListView где несколько Item-ов при клике на любой из них...

ListView и мультивыбор при открытии активити - Программирование Android
Здравствуйте. Подскажите пожалуйста, можно ли при открытии активити со списком, в этом списке некоторые элементы отметить как выбранные? ...


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

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

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