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

Не работает кастомный адаптер

20.03.2017, 12:32. Просмотров 444. Ответов 9
Метки нет (Все метки)

Делаю программу с собственным адаптером для ListView. Компилятор ни на что не ругается, но активность с листом не открывается. Выполнение кода останавливалось на строке setContentView метода onCreate. Решил закомментить строку и нашлась строка с такой же проблемой - присвоение адаптера листу.
Код активности с листом:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    //адаптер объявлен так:
    ArrayList<ToDoItemDescr> Array_of_todo = new ArrayList<ToDoItemDescr>();
    ToDoAdapter todoadapter;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        Log.w(LOG_TAG, "Инициализация переменной листа...");
        list_todo = (ListView) findViewById(R.id.list_todo);
 
        super.onCreate(savedInstanceState);
 
        Log.w(LOG_TAG, "Готово.");
        setContentView(R.layout.activity_to_do_manager); //выполнение кода прекращается здесь
 
        Log.w(LOG_TAG, "Заполняю лист...");
        fill_list_todo(list_todo);
    }
Присвоение адаптера:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    protected void fill_list_todo(View v) {
        settings = read_settings_todo();
 
        unsorted_text_todo = read_todo_file();
 
        Log.w(LOG_TAG, "Заполняю массив...");
        fill_array_todo();
 
        Log.w(LOG_TAG, "Массив заполнен.");
 
        todoadapter = new ToDoAdapter(this, Array_of_todo);
        list_todo.setAdapter(todoadapter); //здесь программа прекращает выполнение кода
 
        Log.w(LOG_TAG, "Я закончил.");
 
    }
Код адаптера:
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
public class ToDoAdapter extends BaseAdapter {
    Context cont;
    LayoutInflater inflater;
    ArrayList<ToDoItemDescr> item_parts;
 
    ToDoAdapter(Context context, ArrayList<ToDoItemDescr> items) {
        cont = context;
        item_parts = items;
        inflater = (LayoutInflater) cont.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
    }
 
    public int getCount() {
        return item_parts.size();
    }
 
    public Object getItem (int pos) {
        return item_parts.get(pos);
    }
 
    public long getItemId(int pos) {
        return pos;
    }
 
    public View getView(int pos, View convertView, ViewGroup parent) {
        View view = convertView;
        if (view == null) {
            view = inflater.inflate(R.layout.todo_list_item_try_1, parent, false);
        }
 
        ToDoItemDescr did = getToDoItem(pos);
 
        ((TextView) view.findViewById(R.id.todo_head)).setText(did.item_header);
        ((TextView) view.findViewById(R.id.todo_body)).setText(did.item_body);
        ((Switch) view.findViewById(R.id.todo_active)).setChecked(did.item_status);
 
        return view;
    }
 
    ToDoItemDescr getToDoItem(int pos) {
        return ((ToDoItemDescr) getItem(pos));
    }
 
}
Программа должна открывать активность и заполнять список. Что мне исправить чтобы активность открывалась?

Добавлено через 39 секунд
Адаптер делал по урокам Startandroid
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2017, 12:32
Ответы с готовыми решениями:

ListView и кастомный адаптер
Добрый день ув. Программисты! Нашёл код который заполняет ListView с кастомным адаптером. Но вот...

Кастомный адаптер listView
Доброго времени суток, в общем впервые столкнулся с задачей создания кастомного адаптера для...

Несколько string массивов в кастомный адаптер
Есть ListView с кастомным адаптером в отдельном классе. Нашел код на просторах как передавать в...

ExpandableListView адаптер некорректно работает
Здравствуйте, помогите найти ошибку. Адаптер не распределяет объекты по своим группам, передает все...

Кастомный адаптер: ошибка IllegalStateException
Имеется код со своим адаптером для ListView public class ChatConversationsAdapter : BaseAdapter ...

9
Pablito
2863 / 2275 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
20.03.2017, 12:34 2
лог ошибки где?
0
MODifikaTOR18
0 / 0 / 1
Регистрация: 26.05.2016
Сообщений: 80
Завершенные тесты: 1
20.03.2017, 12:42  [ТС] 3
Паблито, ошибки нету. Приложение просто прекращает выполнение кода, даже не виснет
0
Pablito
2863 / 2275 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
20.03.2017, 12:47 4
есть лог ошибки
0
20.03.2017, 12:47
MODifikaTOR18
0 / 0 / 1
Регистрация: 26.05.2016
Сообщений: 80
Завершенные тесты: 1
20.03.2017, 12:48  [ТС] 5
Паблито, так выглядит лог при незакрытой строке setContentView
0
Миниатюры
Не работает кастомный адаптер  
MODifikaTOR18
0 / 0 / 1
Регистрация: 26.05.2016
Сообщений: 80
Завершенные тесты: 1
20.03.2017, 12:52  [ТС] 6
Так выглядит лог при закрытой строке setContentView и открытой setAdapter
0
Миниатюры
Не работает кастомный адаптер  
Pablito
2863 / 2275 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
20.03.2017, 12:52 7
господи, какой тяжелый случай

setContentView - должен быть обязательно, этот метод устанавливает разметку активити
все строки типа
Java
1
list_todo = (ListView) findViewById(R.id.list_todo);
должны идти после setContentView
0
MODifikaTOR18
0 / 0 / 1
Регистрация: 26.05.2016
Сообщений: 80
Завершенные тесты: 1
20.03.2017, 12:57  [ТС] 8
Паблито, сделал setContentView первой строкой в методе - после неё не выполняется ничего. И ошибки нету.
0
Миниатюры
Не работает кастомный адаптер  
Pablito
2863 / 2275 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
20.03.2017, 13:13 9
на скриншоте строки 54 и 55 надо поменять местами для начала
программирование наугад?
0
MODifikaTOR18
0 / 0 / 1
Регистрация: 26.05.2016
Сообщений: 80
Завершенные тесты: 1
20.03.2017, 13:23  [ТС] 10
Паблито, пробовал и правильную расстановку - не помогло
0
20.03.2017, 13:23
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2017, 13:23

Не работает кастомный QCompleter в QPlainTextEdit
Делал по этой документации: http://doc.qt.io/qt-5/qtwidgets-tools-customcompleter-example.html...

Не работает кастомный шрифт (invalid property value)
Добрый день. Подскажите, почему не подключаются кастомные шрифты? ПС: google fonts отображаются...

Не работает Wi-Fi адаптер
Доброго времени суток. Есть wi-fi адаптер(tp-link archer t4u) и роутер (asus rt-n13u). Проблема...


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

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

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