问题标签 [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 投票
1 回答
177 浏览

android - 导航组件对话框片段 NoSuchElementException

我在底部导航栏中有 3 个片段

- >第三个片段有一个viewpager2,其中有2个片段。

-> 单击视图分页器片段之一中的按钮会打开一个 BottomSheetDialogFragment,并在完成该 BottomSheetDialogFragment 中的几个步骤后

-> 该片段被解除并打开另一个BottomSheetDialogFragment。

当最后一个 BottomSheetDialogFragment 关闭时,应用程序崩溃并出现以下错误

一个月前我升级到导航库 2.4.0-alpha03 并忽略了这个问题,认为它在 alpha 中并且会被修复,alpha05 已经出来并且仍然一样,我决定去稳定版本 2.3.5 和错误持续存在。

这是gradle(模块)

分级(模块)

导航图如下所示

0 投票
0 回答
54 浏览

android - Bottomsheet - 视图不是 CoordinatorLayout 的子视图

我试图收听底部表中的滑动和状态更改,但出现错误:视图不是 CoordinatorLayout 的子视图。stackoverflow 上已经有很少的资源,但它们似乎没有解决我的问题,所以用我的代码发布这个新的。

我添加了一个回调来监控底部表中的滑动和状态变化。

xml代码是:

我得到的错误是:

0 投票
0 回答
190 浏览

android - Android BottomSheetDialog 内容被推离屏幕

我有一个BottomSheetDialogFragment用户可以在其中购买东西的地方。为了使用主卡/签证卡付款,用户被发送到浏览器以进行安全的支付交易。

当我再次返回应用程序时,一切都很好。但是如果我关闭底部的工作表对话框并再次打开它,内容会突然被推到屏幕下方,如下面的 Layout Inspector 图像所示。所以用户不再看到内容,他只看到标准的暗影,它总是显示在对话框后面。

如果我关闭/打开所有步骤的对话框,除了在浏览器往返后关闭/打开它时,一切正常。

底部表格突然变得很大(从正常情况下的〜500px到有车情况下的〜1500px)。但我不知道为什么。

根据我的调查,我确定活动以某种方式发生了变化。主题标志或类似的标志会在下次更改并弄乱底页。

非常感谢您对此的任何想法。

这是底部工作表 xml 的简化版本

屏幕推送内容的布局检查

0 投票
0 回答
14 浏览

android-jetpack - 从 BottomSheetDialogFragment 导航而不显示底层片段

我有两个导航图,具有以下目的地:

图 1:片段 A -> BottomSheetDialogFragment B -> BottomSheetDialogFragment C

图 2:片段 A -> 片段 B

我的问题:我想在图 2 中从 BottomSheetDialogFragment C 导航到 Fragment B。我可以这样做,但图 1 中的 Fragment A 显示在两者之间。

我的 BottomSheetDialogFragments 未在导航图中定义。我用来BottomSheetDialogFragment().show(childFragmentManager, "tag")向他们展示

0 投票
0 回答
40 浏览

android - 当 Recyclerview 位于 BottomSheetDialogFragment 时,Recyclerview 项不可点击

我的问题是 Recyclerview 项目在底部表单对话框片段中时不可点击。

我试图在适配器的 onBindViewHolder 中获得一个 setOnClickListener,就像这样

但它不工作。

更奇怪的是,它适用于公共活动或公共片段(不是底部SheetDialogFragment)。

这是我所有来自 Fragment(调用 bottomSheetFragment)、bottomSheetFragment、Adapter 的代码。

如果您需要 xml 代码或其他代码,请告诉我。


Fragment 代码
** 顺便说一下,BaseFragment(SignUpFragment 的类型)只包含 viewBinding 和 inflate


BottomSheetFragment 代码


适配器

0 投票
1 回答
176 浏览

android - 如何使 Android BottomSheetDialogFragment 出现在系统/手势栏后面?

有很多解决方案可以在 Android 导航栏后面实现绘图,其中一些来自Google 本身,但是,没有一个可以开箱即用地在导航/手势栏后面显示底部表单。

完成这一切需要什么?

0 投票
0 回答
137 浏览

android - 如何修复底部工作表对话框的出现位置

在 Android 11 中,BottomSheetDialog(BSD) 看起来像它应该的那样,但在旧版本上它要么在它上面,要么Navigation Bar在它下面。我附上了我的问题的图片,这是我的 xml:

这是当我试图将所有内容都包含在 Coordinator Layout 中时,但它没有用:

当然,我想到的解决方案之一是在代码中检查 Android 版本,然后,如果需要,添加底部边距,但这看起来不是正确的方法。

在此处输入图像描述

0 投票
1 回答
125 浏览

java - 在 Android 中关闭 DialogFragment 之前确认

我为我的 DialogFragment 定义了一个方法,它将弹出另一个(警报)对话框,我确认用户想要关闭 DialogFragment。如果是这种情况,那么我打电话给DialogFragment.dismiss(). 如果不是,则应该简单地忽略 DialogFragment 的解除,并且用户应该像以前一样返回到它。

此方法(例如confirmCancel())用于 DialogFragment 底部的“取消”按钮。由于我还希望在用户按下后退按钮或触摸 DialogFragment 外部时显示它,因此我将 confirmCancel 设置为它onCancelListener(当然,我也使用getDialog().setCanceledOnTouchOutside(true)过)。

这是代码confirmCancel()

这几乎可以完美地工作,除了当 AlertDialog 显示在屏幕上时,DialogFragment 已经被解除,并且在 AlertDialog 中采取的操作根本没有用。

所以我现在需要的是一种“取消”解除 DialogFragment 的方法,或者是在解除之前调用的方法。我该如何解决这个问题?

PS:getDialog().setCancelable(false)对我没有帮助,因为我确实希望取消对话;只是我希望它有条件地取消。

0 投票
2 回答
439 浏览

android - 如何使用 JetpackNavigation 组件从 BottomSheetDialogFragment 导航到另一个 Fragment

如果我尝试从底部工作表对话框片段导航到另一个片段,我的应用程序将崩溃。

我现在在底部工作表对话框片段中执行此操作:

崩溃日志:

0 投票
1 回答
205 浏览

android - 为什么我的 BottomSheetDialogFragment 忽略了我的应用主题?

我刚开始BottomSheetDialogFragment在我的应用程序中使用 a ,但它似乎忽略了我的应用程序主题。我的应用程序使用深色主题,BottomSheetDialogFragment 显示为白色背景,不使用我的应用程序的强调色。这是唯一具有这种行为的 Android 组件。为什么会这样以及如何解决这个问题?