作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 BottomSheetDialogFragment 类。看起来像这样:
public class BottomSheetAddProp extends BottomSheetDialogFragment
它有一个方法:
@Override
public View onCreateView
在此方法中,我使用 RecycleAdapter 创建一个用于照片的 RecyclerView。
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 内创建的。
我的问题是 - 如何在 onActivityResult()
中创建 .notifyDataSetChanged()
?
最佳答案
在对话框 fragment 中添加一个方法:
public void updatedData(Data data) {
adapter.setData(data);
}
在 Activity 中保存对 fragment 的引用。然后在onActivityResult方法中只需通过上面的方法传递数据:
void onActivityResult(int requestCode, int resultCode, Intent data) {
Data data = ...
dialogFragment.updateDate(data);
}
关于java - 如何将数据传递给BottomSheetDialogFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56546661/
我是一名优秀的程序员,十分优秀!