问题标签 [bottomsheetdialogfragment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
820 浏览

android - Dagger-Hilt @AndroidEntryPoint 不适用于 BottomSheetDialogFragment()

我在BottomSheetDialogFragmet() 中使用ViewModel,所以我必须用@AndroidEntryPoint 标记我的BottomSheet。

但是当我尝试构建我的项目时,它给了我这个错误:

这是我使用 --stacktrace 运行的输出

https://gist.github.com/javlonrahimov/95de968645cace1dfb6e425381f8014b

如果我删除我的 BottomSheetFragmen() 上方的 @AndroidEntryPoint,它正在构建和安装应用程序。但是当我尝试打开 bottomSheet 时,应用程序崩溃了,因为我将存储库注入到 ViewModel:

@AndroidEntryPoint在其他普通片段上正常工作。

更新:

这是我的视图模型:

更新 2:现在我正在注释 BottomSheetDialogFragment(),它在构建时给了我错误。

如果我改变这个

对此

它工作得很好。

我真的可以用@AndroidEntryPoint 注释BottomSheetDialogFragment() 吗?

更新 3:

这是我的 BottomSheetDialogFragment

0 投票
1 回答
28 浏览

android - 想像附件一一样创建BottomSheetDialogFragment

我希望我的底页在默认、拖动和关闭等阶段表现得像附加图像。在此处输入图像描述

0 投票
1 回答
63 浏览

kotlin - 如何将数据从 BottomSheetFragment 传递到另一个片段?

我有一个Activity名为“HomeActivity”的,其中有一个底部导航菜单和四个片段。活动有一个FloatingActionButton,当我点击它时,它会打开一个bottomSheetFragment包含一个的RecyclerView,当我从中点击一个项目时,我希望将一些值发送到fragment('HomeFragment'),它是'HomeActivity'的一部分

在网上做了很多搜索后,我做了以下但我无法获取fragment.

以下是fragment我要发送数据的地方。

'HomeBottomSheetFragment.kt'

以下是上述片段的适配器('HomeBottomSheetFragment.kt'),'CategoryListAdapter.kt'。

以下是fragment我想要接收数据的地方。

我只知道我做的不对,请帮我解决它。

0 投票
1 回答
39 浏览

android - 键盘正在使用底部工作表对话框片段打开,甚至在 Activity 或 Fragment 中没有 EditText

我不知道为什么,但是当我从另一个片段打开 BottomSheetDialogFragment 时,键盘会自动打开。我尝试了导航组件和旧方法。我在 API 24、27、30 上进行了尝试。在 API 30 上它工作正常,但在 24 和 27 中面临这个问题。这里有人遇到这个问题吗?任何对此问题有解决方案的人请发布答案。

0 投票
0 回答
25 浏览

android - 为 BottomSheetDialogFragment 设置固定高度

我在 viewpager 中有一个片段。Viewpager 覆盖了屏幕的一半。我需要在片段内显示底部工作表对话框片段。

我已经显示了底部工作表对话框片段。

但问题是将底部工作表对话框片段的高度设置为父片段(viewpager 内的片段)的确切高度。

注意:请参阅 Youtube 移动应用程序中的评论部分。回复评论的部分是我的想法。

0 投票
1 回答
30 浏览

android - 使用jetpack导航组件从一个底页导航到另一个底页时如何弹出底页对话框

我有一个带有片段和 2 个底部表对话框片段的导航堆栈。这就是我的导航图的样子,

我可以轻松地在片段和对话框之间导航,但是在导航到第二个时我需要弹出前一个底页。我尝试过使用app:popUpToapp:popUpToInclusive但第一个对话框initial_flow在后台堆栈中仍然可用,并且关闭第二个对话框game_activated会再次将其置于顶部。

当导航到第二个对话框无济于事时,我还尝试通过 navOptions 以编程方式调用 popUp,例如

我正在使用导航组件 2.3.4。

任何提示或替代方案?

0 投票
1 回答
20 浏览

android - 如何在 BottomSheetDialogFragment 中应用屏幕调整大小?

首先,我将向您展示 BottomSheetDialogFragment 类。

xml是这样的:

first实现了 Android 键盘,以便按下 Button id到的任何按钮sixth。但是这里的问题是,当键盘向上时,视图焦点设置在EditText上,但是EditText被键盘遮挡了。有没有办法让 BottomSheetDialogFragment 像 Activity 一样调整视图的大小?

[更新]

作为参考,样式应用如下。

  1. 调整大小
  2. 状态始终可见
  3. 调整大小,状态始终可见

我尝试了所有三种情况,但它没有奏效。

0 投票
1 回答
101 浏览

android-jetpack-compose - 如何在 BottomSheetDialogFragment 中正确使用 Jetpack Compose?

例如,我在应用程序中有带有 Compose LazyColumn 代码的 MyBottomSheetDialogFragment:

并使用以下代码显示它:

这就是我们所拥有的:

MyBottomSheetDialogFragment 屏幕图像.jpg

现在,如果向下滚动 LazyColumn 列表,则一切正常,但如果向上滚动 LazyColumn 列表,则滚动底部工作表对话框而不是 LazyColumn 列表。

如何在 BottomSheetDialogFragment 中正确实现 LazyColumn?

当我们使用 XML RecyclerView 列表时,要解决此问题,我们必须使用 NestedScrollView 包装 RecyclerView 列表,如此处所述,但是如何使用 Jetpack Compose 修复它?

0 投票
1 回答
43 浏览

java - 自定义DialogFragment(扩展BottomSheetDialogFragment),java.lang.IllegalStateException: Fragment already added

我有一个自定义 DialogFragment,得到了java.lang.IllegalStateException: Fragment already added。首先,当我快速单击按钮以显示 DialogFragment 时,我遇到了同样的崩溃。然后我覆盖show()在显示之前删除片段。在我的手机上看起来不错。但是仍然可以在 crashlytics 上看到,而且我无法通过以前的方式在手机上重现它。

这是我的 DialogFragment 的代码。我有一个外部按钮的生成器来显示它

那么,为什么覆盖没有show()意义以及如何修复此崩溃?

0 投票
0 回答
9 浏览

android - 通过带有捆绑包的导航将 Lambda 参数传递给 DialogFragment startActivityForResult 错误

我正在传递 lamda 函数并穿上捆绑包并像下面这样导航它;

这是我的 Parcelize 类,其中包括 lamda func。

我可以从我的对话框片段中获取这个 lambda 参数。我也可以在用 cameraX 拍照后调用这个 lambda。但是当我想从媒体存储中选择一张照片时,一旦我收到这个错误。

startActivityForResult 方法出现这个错误的原因是什么?如何解决这个问题?