Лучший способ добавить элементы в recyclerview из другого действия? - PullRequest
0 голосов
/ 10 июля 2020

Итак, у меня есть recyclerview в моей MainActivity, и я хочу открыть окно (новое действие?) И добавить элементы в мой recyclerview из этого окна. Прямо сейчас я пытаюсь сделать это вот так. Проблема в том, что когда я добавляю элемент в список, мой recyclerview не показывает его (я полагаю, это потому, что я не обновляю свой адаптер?) Как лучше всего это сделать? Я не против изменить структуру моей программы.

MainActivity. java

        static ArrayList<filterItem> filters = new ArrayList<>();

        filters.add(new filterItem("1", R.mipmap.ic_launcher));
        filters.add(new filterItem("2", R.mipmap.ic_launcher));
        filters.add(new filterItem("3", R.mipmap.ic_launcher));
        filters.add(new filterItem("4", R.mipmap.ic_launcher));
        filters.add(new filterItem("5", R.mipmap.ic_launcher));
        filters.add(new filterItem("6", R.mipmap.ic_launcher));
        filters.add(new filterItem("7", R.mipmap.ic_launcher));
        filters.add(new filterItem("8", R.mipmap.ic_launcher));
        filters.add(new filterItem("9", R.mipmap.ic_launcher));
        filters.add(new filterItem("10", R.mipmap.ic_launcher));

        RecyclerView recyclerView = findViewById(R.id.recyclerView);
        recyclerView.setLayoutManager(layoutManager);
        adapter = new MyAdapter(this, filters);
        adapter.setClickListener(this);
        recyclerView.setAdapter(adapter);

BrowseFilters. java MainActivity.filters.add(filterToAdd);

Я знаю, что есть уже сообщения, отвечающие на вопрос, как это сделать, и в ответах говорится, что просто сделать список stati c, как это сделал я. Но это лучший способ сделать это или есть способы лучше? Если создание списка stati c - лучший способ, то как мне показать мой обновленный список в MainActivity?

1 Ответ

1 голос
/ 10 июля 2020

вам необходимо вызвать adapter.notifyDataSetChanged() после добавления элемента в адаптер

Лучшая практика в этом случае - startActivityForResult() из MainActivity

В SecondActivity передайте дополнительный элемент, который вы хотите добавить MainActivity обратно в MainActivity

В MainActivity переопределите onActivityResult() и обработайте добавление дополнительного элемента в адаптер и вызовите adapter.notifyDataSetChanged()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...