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

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

Войти
Регистрация
Восстановить пароль
 
Казаков Игорь
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 34
#1

Expandable List View Android - Android

15.08.2014, 11:49. Просмотров 575. Ответов 1
Метки нет (Все метки)

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



класс адаптера
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
public class ExpListAdapter extends BaseExpandableListAdapter
{
    Context mContext;
    ArrayList<ArrayList<String>> mGroups;
    
    public ExpListAdapter(Context context, ArrayList<ArrayList<String>> groups)
    {
        this.mContext = context;
        this.mGroups = groups;
    }
 
    @Override
    public int getGroupCount() 
    {
        return mGroups.size();
    }
 
    @Override
    public int getChildrenCount(int groupPosition) {
        return mGroups.get(groupPosition).size();
    }
 
    @Override
    public long getGroupId(int groupPosition) 
    {
        return groupPosition;
    }
 
    @Override
    public long getChildId(int groupPosition, int childPosition) 
    {
        return childPosition;
    }
 
    @Override
    public boolean hasStableIds() 
    {
        return true;
    }
 
    
    @Override
    public View getChildView(int groupPosition, int childPosition,
            boolean isLastChild, View convertView, ViewGroup parent)
    {
         if (convertView == null) 
         {
             LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             convertView = inflater.inflate(R.layout.child_view, parent, false);
         }
 
         TextView textChild = (TextView) convertView.findViewById(R.id.textChild);
         textChild.setText(mGroups.get(groupPosition).get(childPosition)); 
 
         return convertView;
    }
 
    
    @Override
    public View getGroupView(int groupPosition, boolean isExpanded,
            View convertView, ViewGroup parent) 
    {
        if(convertView == null)
        {
            LayoutInflater inflater = 
                    (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.group_wiew,parent, false);
        }
        
        TextView textGroup = (TextView) convertView.findViewById(R.id.textGroup);
        textGroup.setText("Towns");//////////////////////////////////////////////////////
        
        return convertView;
    }
 
    
    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) 
    {
        return true;
    }
 
    @Override
    public Object getGroup(int groupPosition) {
        return mGroups.get(groupPosition);
    }
 
    @Override
    public Object getChild(int groupPosition, int childPosition) {
        return mGroups.get(groupPosition).get(childPosition);
    }
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2014, 11:49     Expandable List View Android
Посмотрите здесь:

Как раскрасить Expandable List Android
Android Обработка нажатия каждого элемента List View
Android list view управление
Способы хранения данных для expandable listview Android
Android Android.support.v4.view.ViewPager одним xml+java файлом
Android Your content must have a ListView whose id attribute is 'android.R.id.list' - как правильно создать адаптор ?
Web view Android studio Android
Android slide view Android
Движение View Android
Android Можно ли Expandable сделать в RecyclerView ?
Android ClassNotFoundException. android.view.fragment. как лечить?
Fragment как в нем добавить List View Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
17.08.2014, 13:02     Expandable List View Android #2
Делал же этот урок, все работает, только метод getChildView отличается от Вашего (49 стр.).
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
    @Override
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild,
                             View convertView, ViewGroup parent) {
        if (convertView == null) {
            LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.child_view, null);
        }
 
        TextView textChild = (TextView) convertView.findViewById(R.id.textChild);
        textChild.setText(mGroups.get(groupPosition).get(childPosition));
 
        return convertView;
    }
Yandex
Объявления
17.08.2014, 13:02     Expandable List View Android
Ответ Создать тему
Опции темы

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