activity 底部弹窗的BottomSheetDialog并获取 BottomSheetDialog所在的fragmente 实例
时间: 2024-03-02 11:53:24 浏览: 80
要实现这个需求,你需要在调用 BottomSheetDialog 的地方获取当前 fragment 的实例,并将其传递给 BottomSheetDialog 中。具体实现步骤如下:
1. 在当前 fragment 中获取 fragmentManager 实例,然后通过 fragmentManager 获取当前 fragment 实例。
```java
Fragment currentFragment = getParentFragmentManager().findFragmentById(R.id.fragment_container);
```
2. 在调用 BottomSheetDialog 的地方,创建一个新的实例,并将当前 fragment 实例作为参数传递进去。
```java
MyBottomSheetDialog bottomSheetDialog = new MyBottomSheetDialog(currentFragment);
```
3. 在 BottomSheetDialog 中保存当前 fragment 实例,以便后续使用。
```java
public class MyBottomSheetDialog extends BottomSheetDialog {
private Fragment currentFragment;
public MyBottomSheetDialog(@NonNull Fragment currentFragment) {
super(currentFragment.requireContext(), R.style.BottomSheetDialogTheme);
this.currentFragment = currentFragment;
}
// 后续可以使用 currentFragment 实例进行操作
}
```
通过这样的方式,你就可以在 BottomSheetDialog 中获取当前 fragment 的实例,并进行相关操作了。
阅读全文