- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Bottom Sheet Dialog Fragment
其中包含四个 Fragment
与 ViewPager
.
我想在 onBackPressed
时调用一个方法点击Bottom Sheet Dialog Fragment
.已实现 OnBackPressedCallback
在我的OnCreateView
但它没有被触发。任何人都知道为什么不调用它?
val callback = object : OnBackPressedCallback(true */ true means that the callback is enabled /*) {
override fun handleOnBackPressed() {
// Show your dialog and handle navigation
LogUtils.d("Bottom Sheet -> Fragment BackPressed Invoked")
}
}
// note that you could enable/disable the callback here as well by setting callback.isEnabled = true/false
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, callback)
最佳答案
我在寻找 DialogFragment 中存在的相同问题的解决方案时发现了这个线程。答案在上面的评论中,但为了完整起见,这里是汇总的信息:
解决方案
在您的 DialogFragment 中覆盖 onCreateDialog 并设置 OnKeyListener:
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
return super.onCreateDialog(savedInstanceState).apply {
setOnKeyListener { _: DialogInterface, keyCode: Int, keyEvent: KeyEvent ->
if (keyCode == KeyEvent.KEYCODE_BACK && keyEvent.action == KeyEvent.ACTION_UP) {
// <-- Your onBackPressed logic here -->
return@setOnKeyListener true
}
return@setOnKeyListener false
}
}
}
解释
requireActivity().onBackPressedDispatcher.addCallback
提出的问题不适用于 DialogFragments (
https://issuetracker.google.com/issues/149173280 ):
Dialogs are separate windows that always sit above your activity's window. This means that the dialog will continue to intercept the system back button no matter what state the underlying FragmentManager is in, or what code you run in your Activity's onBackPressed() - which is where the OnBackPressedDispatcher plugs into.
onBackPressedDispatcher
当使用任何使用对话框的组件时,它是错误的工作工具,因为它们在应用程序中的行为方式以及在 Activity 之外(在顶部)存在的方式。
关于android - OnBackPressedCallback 未在 Bottom Sheet 对话框 fragment 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59982321/
我在 Android 中使用 Google Sheets API v4。 https://developers.google.com/sheets/api/quickstart/android 我需要
我想使用 googlesheetv4 api 在 googlesheet 中使用 rowno 删除一行。有人可以给我提供一个示例代码吗?我创建了一个删除行的方法公共(public)无效deleteRo
我想使用 googlesheetv4 api 在 googlesheet 中使用 rowno 删除一行。有人可以给我提供一个示例代码吗?我创建了一个删除行的方法公共(public)无效deleteRo
如何在 Google 表格中获取数据透视表,其中一列显示值在列中出现的次数? 我知道可以使用 countif 来完成。功能,但我想使用数据透视表来完成。 最佳答案 转到顶部菜单 Data--> Piv
在 Google 表格中,我尝试使用作用于其他两个单元格的条件格式公式将文本添加到不同的单元格。 例如,我有几列......“C”和“E”。我正在比较 C25 和 E25 中的值,如下所示:=E25<
假设我有一个带有随机工作表名称的工作簿,“Bob”、“Sally”、“Billy”、“John”或类似的非连续名称。我还有另一张名为“总计”的表格。我怎样才能对特定单元格的值求和,比如所有单元格的“H
我已经能够使用 Google Sheet 的 SEQUENCE为我提供 Partner 1 的顺序日期的公式但随后公式停止并且不会继续到 Partner 2 . 我曾尝试在 Google 的 Arra
我需要对字符串中的所有数字求和,在字符串中不会有任何字母只有数字。单元格包含 112121 . 我尝试使用 SUM和 CASE与 QUERY函数,但是 CASE不支持。 示例:1121 = 5。 最佳
在 Google Sheets 上,我试图在一个单元格中使用文本(比如 B4 包含:“Janet”)并在另一个单元格中的句子中引用它(比如 G4 是:“嗨{在此处输入 B4},我正在到达今天给你……”
我正在创建一个锻炼电子表格来跟踪我每周的表现,每张表格都涵盖了一周的锻炼。每张纸(除了第一张)都是前一张纸的副本,我想从上一张纸中继承一些值;例如,前一周的练习次数。 我已经阅读了一些 API,但似乎
我尝试使用示例“读取多个范围”: https://sheets.googleapis.com/v4/spreadsheets/{SpreadsheetID}/values:batchGet?range
我有一个从 Google 电子表格中获取数据的网站。我希望我的用户在不登录的情况下查看获取的数据。这可能吗?怎么做? 为了获取和更新工作表数据,我只需要一个帐户,最好在服务器端登录。但是,我没有看到任
我正在 Google Sheets 中使用 COUNTIF 公式进行一些动态蒙特卡罗模拟。有些事情不像我想象的那样工作,但我无法解决。我有两列要比较,我需要计算一列中的值大于另一列中的值的实例。如果我
我正在使用 Google Sheets 中的一个大(但简单)的公式,该公式重复使用相同的公式块。要从一堆不同的选项卡中获取一堆数据,我必须在该公式块中使用 708 个字符。但是随后我需要在 1 个单元
我在我的工作表中使用以下查询为艺术家导入总 Spotify 流。例子:=IMPORTXML("https://chartmasters.org/spotify-streaming-numbers-to
我正在尝试做一个非常简单的 lookup在数据验证字段上: 我有 4 个简单的值: 无风险 低 中级 高 除此之外,我还有以下值(value)观: 0 0.1 0.2 0.5 我使用 lookup公式
我有一个专栏 COLUMN H | Column R trading type | Closed P&L Lotto | 100% Lotto | 200% | 100% Day |
我正在寻找一种通过Google Sheets API创建一组行的方法-有没有办法做到这一点?我看不到找到可以做到这一点的API,但似乎应该是相当普遍的格式设置需求。 通过选择一组行,右键单击,该选项在
我有一个表,基本上显示了另一个表的数据。问题是:我在原始表中有一些脚本程序,这些程序涉及删除行,当它发生时,我丢失了对行所在位置的引用。 我怎样才能解决这个问题? 已经试过了:='INVENTORY'
我想通过 API v4 隐藏谷歌电子表格中的给定列,但我很难这样做。 有谁知道这是否可能并设法做到了? 我们在 Apps 脚本中有一个 dedicated method这样做,如果 REST API
我是一名优秀的程序员,十分优秀!