问题标签 [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.
android - 导航组件对话框片段 NoSuchElementException
我在底部导航栏中有 3 个片段
- >第三个片段有一个viewpager2,其中有2个片段。
-> 单击视图分页器片段之一中的按钮会打开一个 BottomSheetDialogFragment,并在完成该 BottomSheetDialogFragment 中的几个步骤后
-> 该片段被解除并打开另一个BottomSheetDialogFragment。
当最后一个 BottomSheetDialogFragment 关闭时,应用程序崩溃并出现以下错误
一个月前我升级到导航库 2.4.0-alpha03 并忽略了这个问题,认为它在 alpha 中并且会被修复,alpha05 已经出来并且仍然一样,我决定去稳定版本 2.3.5 和错误持续存在。
这是gradle(模块)
分级(模块)
导航图如下所示
android - Bottomsheet - 视图不是 CoordinatorLayout 的子视图
我试图收听底部表中的滑动和状态更改,但出现错误:视图不是 CoordinatorLayout 的子视图。stackoverflow 上已经有很少的资源,但它们似乎没有解决我的问题,所以用我的代码发布这个新的。
我添加了一个回调来监控底部表中的滑动和状态变化。
xml代码是:
我得到的错误是:
android - Android BottomSheetDialog 内容被推离屏幕
我有一个BottomSheetDialogFragment
用户可以在其中购买东西的地方。为了使用主卡/签证卡付款,用户被发送到浏览器以进行安全的支付交易。
当我再次返回应用程序时,一切都很好。但是如果我关闭底部的工作表对话框并再次打开它,内容会突然被推到屏幕下方,如下面的 Layout Inspector 图像所示。所以用户不再看到内容,他只看到标准的暗影,它总是显示在对话框后面。
如果我关闭/打开所有步骤的对话框,除了在浏览器往返后关闭/打开它时,一切正常。
底部表格突然变得很大(从正常情况下的〜500px到有车情况下的〜1500px)。但我不知道为什么。
根据我的调查,我确定活动以某种方式发生了变化。主题标志或类似的标志会在下次更改并弄乱底页。
非常感谢您对此的任何想法。
这是底部工作表 xml 的简化版本
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")
向他们展示
android - 当 Recyclerview 位于 BottomSheetDialogFragment 时,Recyclerview 项不可点击
我的问题是 Recyclerview 项目在底部表单对话框片段中时不可点击。
我试图在适配器的 onBindViewHolder 中获得一个 setOnClickListener,就像这样
但它不工作。
更奇怪的是,它适用于公共活动或公共片段(不是底部SheetDialogFragment)。
这是我所有来自 Fragment(调用 bottomSheetFragment)、bottomSheetFragment、Adapter 的代码。
如果您需要 xml 代码或其他代码,请告诉我。
Fragment 代码
** 顺便说一下,BaseFragment(SignUpFragment 的类型)只包含 viewBinding 和 inflate
BottomSheetFragment 代码
适配器
android - 如何使 Android BottomSheetDialogFragment 出现在系统/手势栏后面?
有很多解决方案可以在 Android 导航栏后面实现绘图,其中一些来自Google 本身,但是,没有一个可以开箱即用地在导航/手势栏后面显示底部表单。
完成这一切需要什么?
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)
对我没有帮助,因为我确实希望取消对话;只是我希望它有条件地取消。
android - 如何使用 JetpackNavigation 组件从 BottomSheetDialogFragment 导航到另一个 Fragment
如果我尝试从底部工作表对话框片段导航到另一个片段,我的应用程序将崩溃。
我现在在底部工作表对话框片段中执行此操作:
崩溃日志:
android - 为什么我的 BottomSheetDialogFragment 忽略了我的应用主题?
我刚开始BottomSheetDialogFragment
在我的应用程序中使用 a ,但它似乎忽略了我的应用程序主题。我的应用程序使用深色主题,BottomSheetDialogFragment
显示为白色背景,不使用我的应用程序的强调色。这是唯一具有这种行为的 Android 组件。为什么会这样以及如何解决这个问题?