activity 底部弹窗的BottomSheetDialog并获取 BottomSheetDialog所在的fragmenttde 实例
时间: 2024-03-02 09:53:11 浏览: 170
抱歉,我理解错了你的问题。如果要获取BottomSheetDialog所在的Fragment实例,可以按照以下步骤实现:
1. 在你的Activity中创建一个BottomSheetDialog对象,代码类似下面这样:
```
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this);
```
2. 通过BottomSheetDialog对象的getDelegate()方法获取到它的Delegate对象,并通过该对象获取到当前正在显示的Fragment实例,代码类似下面这样:
```
Fragment currentFragment = bottomSheetDialog.getDelegate().getSupportFragmentManager().findFragmentById(R.id.fragment_container);
```
其中,R.id.fragment_container为你在Activity布局文件中定义的Fragment容器。
这样就可以获取到BottomSheetDialog所在的Fragment实例了。
希望这些能够帮到你!
相关问题
activity 底部弹窗的BottomSheetDialog并获取 BottomSheetDialog所在的fragmente 实例
要实现这个需求,你需要在调用 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 的实例,并进行相关操作了。
activity 底部弹窗的BottomSheetDialog并获取 BottomSheetDialog实例
好的,针对你的问题,可以按照以下步骤实现:
1. 在你的Activity中创建一个BottomSheetDialog对象,代码类似下面这样:
```
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this);
```
2. 最后通过bottomSheetDialog对象即可获取到BottomSheetDialog实例。
```
BottomSheetDialog dialog = bottomSheetDialog;
```
这样就可以获取到BottomSheetDialog实例了。
希望这些能够帮到你!
阅读全文