Отфильтрованный adapter

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Pavel_M
Сообщения: 13
Зарегистрирован: 17 апр 2016, 15:48

Отфильтрованный adapter

Сообщение Pavel_M » 13 май 2016, 18:57

Help!
на activity есть 4 expandablelistview
должно быть 2 массива с parent'ами и child'ами, а у меня сейчас их 8 для каждого expandablelistview по 2 штуки. Причем структуры этих массивов одинаковые.
В массиве могу сделать поле - признак к какмому listview этот parent и child относится, но не могу отфильтровать никак...
Screen_3_adapter - public class Screen_3_adapter extends BaseExpandableListAdapter ...
Вот выдержка из кода:

Код: Выделить всё

   ExpandableListView elvMain;
   Screen_3_adapter adapter;
   List<array_Group_Questions> array_Group_Questions=new ArrayList<array_Group_Questions>();
   ArrayList<List<ru.ds_exp.test_07042016_02.array_Questions>> groups1;

    ExpandableListView elvMain_2;
    Screen_3_adapter adapter_2;
    List<array_Group_Questions> array_Group_Questions_2=new ArrayList<array_Group_Questions>();
    ArrayList<List<ru.ds_exp.test_07042016_02.array_Questions>> groups1_2;

    ExpandableListView elvMain_3;
    Screen_3_adapter adapter_3;
    List<array_Group_Questions> array_Group_Questions_3=new ArrayList<array_Group_Questions>();
    ArrayList<List<ru.ds_exp.test_07042016_02.array_Questions>> groups1_3;

    ExpandableListView elvMain_4;
    Screen_3_adapter adapter_4;
    List<array_Group_Questions> array_Group_Questions_4=new ArrayList<array_Group_Questions>();
    ArrayList<List<ru.ds_exp.test_07042016_02.array_Questions>> groups1_4;

Код: Выделить всё


        elvMain = (ExpandableListView) findViewById(R.id.scr_3_card_1_exTv);
        elvMain_2 = (ExpandableListView) findViewById(R.id.scr_3_card_2_exTv);
        elvMain_3 = (ExpandableListView) findViewById(R.id.scr_3_card_3_exTv);
        elvMain_4 = (ExpandableListView) findViewById(R.id.scr_3_card_4_exTv);

        groups1 = new ArrayList<>();//Создаем набор данных для адаптера
        groups1_2 = new ArrayList<>();//Создаем набор данных для адаптера
        groups1_3 = new ArrayList<>();//Создаем набор данных для адаптера
        groups1_4 = new ArrayList<>();//Создаем набор данных для адаптера

        adapter = new Screen_3_adapter(this, groups1, (ArrayList<ru.ds.array_Group_Questions>) array_Group_Questions);
        adapter_2 = new Screen_3_adapter(this, groups1_2, (ArrayList<ru.ds.array_Group_Questions>) array_Group_Questions_2);
        adapter_3 = new Screen_3_adapter(this, groups1_3, (ArrayList<ru.ds.array_Group_Questions>) array_Group_Questions_3);
        adapter_4 = new Screen_3_adapter(this, groups1_4, (ArrayList<ru.ds.array_Group_Questions>) array_Group_Questions_4);

        elvMain.setAdapter(adapter);
        elvMain_2.setAdapter(adapter_2);
        elvMain_3.setAdapter(adapter_3);
        elvMain_4.setAdapter(adapter_4);
Это все вроде работает, но в результате эти массивы динамически заполняются данными и потом их сохранить нужно.... В общем неудобно очень с четырьмя массивами и адаптерами одновременно.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Отфильтрованный adapter

Сообщение Foenix » 13 май 2016, 19:24

на активити такого помещать вообще нельзя ни по каким канонам андроида.
И в чем вопрос, собственно?
Очень захотелось посмореть на эту активити, к чему такой экстрим ужасный, для пользователя будет просто сногсшибательно сложный.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Pavel_M
Сообщения: 13
Зарегистрирован: 17 апр 2016, 15:48

Re: Отфильтрованный adapter

Сообщение Pavel_M » 13 май 2016, 20:32

Он для пользователя-то как раз не особо сложный получается, а вот для меня сложно работать с ним.
Вопрос в том, как всем четырем expandablelistview присвоить 1 адаптер с 1 массивом (вместо 4-ех). Структура всех массивов одинакова. В самом адаптере может как-то фильтр сделать в методе getChildView(int groupPosition, int childPosition, boolean isLastChild,View convertView, ViewGroup parent)?
Или вообще как-то может проще сделать можно... хз...
Смысл этого активити такой - есть большие разделы,которые представляют как раз expandablelistview (их фиксированное количество - 4 всего), при нажатии на каждый из этих разделов появляется подраздел с внутренним содержимым, те массивы заполняются данными (причем в зависимости от раздела заполняется свой массив данными).

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Отфильтрованный adapter

Сообщение Foenix » 13 май 2016, 21:07

с объяснений ничего не понятно. Активити показывать не хочешь.
1 адаптер на разные списки невозможен, ты хотя бы понимаешь, ЧТО такое адаптер?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ответить