Как передать данные в BottomSheetDialogFragment? - PullRequest
0 голосов
/ 11 июня 2019

У меня есть класс BottomSheetDialogFragment.Выглядит так:

public class BottomSheetAddProp extends BottomSheetDialogFragment

У него есть метод:

@Override
public View onCreateView

В этом методе я создаю RecyclerView с RecycleAdapter для фотографий.

        recyclerPhotos = v.findViewById(R.id.recyclerPhotos);
        recyclerPhotos.setHasFixedSize(true);
        layoutManagerPhotos = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
        recyclerAdapterPhotos = new AdapterPhotos(selectedPhotos, getActivity());
        recyclerPhotos.setLayoutManager(layoutManagerPhotos);
        recyclerPhotos.setAdapter(recyclerAdapterPhotos);

ДанныеДля выбранных фотографий используется метод onActivityResult, и мне нужно выполнить recyclerAdapterPhotos.notifyDataSetChanged(), чтобы обновить список RecyclerView.Но в Activity у меня нет этого recyclerAdapterPhotos, потому что он был создан внутри BottomSheetAddProp.

Мой вопрос - как сделать .notifyDataSetChanged() внутри onActivityResult()?

1 Ответ

1 голос
/ 11 июня 2019

Добавьте метод в ваш фрагмент диалога:

public void updatedData(Data data) {
    adapter.setData(data);
}

Держите ссылку на ваш фрагмент внутри деятельности. Затем в методе onActivityResult просто передайте данные через метод, описанный выше:

void onActivityResult(int requestCode, int resultCode, Intent data) {
    Data data = ...
    dialogFragment.updateDate(data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...