Jetpack compose 中使用 AppCompatActivity 代替 ComponentActivity

2024-01-20

我想打开datePickerJetpack compose 中单击按钮上的对话框。
为此,我在按钮的内部使用以下代码onClick action.

val context = LocalContext.current
Button(onClick = {
    (context as AppCompatActivity).let {
        val picker = MaterialDatePicker.Builder.datePicker().build()
        picker.show(it.supportFragmentManager, picker.toString())
        picker.addOnPositiveButtonClickListener {
            // some code
        }
    }
})

如果我使用的是ComponentActivity, supportFragmentManager不支持。
可以将活动从AppCompatActivity?
或者还有其他方法,如果上述解决方案不正确,我可以得到解决方案吗?


您可以使用AppCompatActivity因为它延伸了FragmentActivity这延伸了ComponentActivity.

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
           val activity = LocalContext.current as AppCompatActivity
                Button(onClick={ showDatePicker(activity)}){
                Text("Picker")
           }
        }
    }
}

fun showDatePicker(activity: AppCompatActivity){
    val picker = MaterialDatePicker.Builder.datePicker().build()
    activity?.let {
        picker.show(it.supportFragmentManager, picker.toString())
        picker.addOnPositiveButtonClickListener {
        }
    }
}

Note:它至少需要AppCompat 1.3.0版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetpack compose 中使用 AppCompatActivity 代替 ComponentActivity 的相关文章

  • 与其他图标相比,AppCompat ShareActionProvider 图标太大

    我将 ActionBarSherlock 更改为 AppCompat v7 我已经完成了使其工作所需的所有更改 但是共享图标 使用 ShareActionProvider 发生了一些奇怪的情况 与其他图标相比 共享图标太大 我还使用支持库进
  • 使用库来维护免费/付费的应用程序版本

    维护免费 付费应用程序版本的共识似乎是使用库 并从每个活动中设置一个标志 以从代码库中获取不同的功能 这有多安全 据我了解 一个人可以root他们的手机 获取APK 并且可以对其进行反编译 即使代码被混淆 也不难看出该应用程序是带有标志的包
  • Firebase 数据库快速入门处理计数的方式安全吗?

    我想为文章点赞创建一个增量字段 我指的是这个链接 https firebase google com docs database android save data save data as transactions https fireb
  • 安卓无法玩ogg

    有人知道这是什么意思吗 ogg使用phonegap is Media播放 它使用MediaPlayer 05 26 15 41 50 007 1160 3631 E AudioFlinger no more track names avai
  • android webview 函数 onPagefinished 被调用两次

    我的android webview功能onPageFinished被调用两次 我不知道为什么 但它在 android 2 2 上运行良好 但当我将其升级到 4 时 它就不起作用了 代码附在下面 Code Override public vo
  • 如何获取.so文件的依赖项列表?

    假设我有libFoo so为 android arm 编译 我不确定它链接到什么STL实现 有options http developer android com intl ru ndk guides standalone toolchai
  • 如何从一个代码库创建多个 Android 应用

    我有一个 Android 代码库 它使用带有设置的 API 来获取多个应用程序的不同数据 所有应用程序都使用相同的代码库 但进行一两个设计调整 那么如何重用主代码库而不必每次都复制整个 Android 项目呢 iPhone 在同一个项目中使
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • 如何以编程方式断开拨出呼叫

    我使用以下代码以编程方式断开呼叫 但它不起作用 private void callDisconnect try TelephonyManager manager TelephonyManager this getSystemService
  • 以编程方式更新 Android 中的联系人姓名和电话号码

    我创建一个应用程序来读取 更新 删除联系人详细信息 这是更新联系人姓名和电话号码的问题 有人可以帮助我吗 我该怎么做 我正在使用以下代码 但它不起作用 Override public View onCreateView LayoutInfl
  • Firebase ANR - 甚至不使用 firebase

    随着 GMS 的最新更新 引入了新的 ANR 如果您退出应用程序 然后返回 则 ANR 就会初始化 线程跟踪似乎指向 Firebase 但我什至从未开始使用 Firebase 我猜它一定是新的 GMS 包的一部分 06 11 00 34 0
  • 导航抽屉默认片段

    我是一名新手开发人员 我正在将导航抽屉与 android support v7 集成到我的应用程序中 我有一个问题 当我启动应用程序时 主要布局是这样的
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • BottomSheetDialog get Behavour 始终返回 null

    我与底部表单对话框我必须获得行为才能设置setBottomSheetCallback 来处理一些事情 As 谷歌说 https android developers googleblog com 2016 02 android suppor
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • 安卓的限制

    我需要构建一个应用程序 该应用程序拍摄相机图像并将其上传到网络 在网络上进行一些处理并返回真 假 我在这方面遇到了一些问题 希望得到澄清 1 我的应用程序有什么方法可以知道 Android 相机捕获的图像吗 我从这里明白了什么 Androi
  • 在没有 Wifi 的情况下获取 Android 设备的 MAC 地址

    如何获取没有 Wifi 接口的 Android 设备 例如 Android 模拟器 的网络接口的 MAC 地址 通过WifiManager返回获取的WifiInfonull EDIT 更清楚地说 我必须与本地网络上的现有网络协议 不是我设计
  • 在 Android 中使用 iText 将图像添加到特定位置

    我想使用 Android 中的 iText 将图像添加到 PDF 文件中的特定位置 这是一个可填写的表单 我添加了作为图像占位符的文本框 我想要做的就是像这样获取该文本框和图像 public class FormFill public st
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp

随机推荐

  • 如何让 ECS 任务承担另一个 AWS 账户的角色?

    我有一个审计容器 可以针对各种 AWS API 运行扫描 我希望所有这些都在产品帐户中作为 ECS 任务运行 但扫描其他帐户中的资源 是否可以将另一个帐户的角色设置为任务角色 我尝试过设置taskRoleArn在我的任务定义中从另一个帐户添
  • 如何在Python中创建命名空间包?

    我有一个具有以下结构的 Python 3 项目 project root init py sub init py actualcode py 我想使用 命名空间包 以便我的库与单独项目中的其他相关库共享公共命名空间 导入语句应该如下所示 f
  • 如何使用 OCMock 测试是否在完成处理程序块内调用对象的方法?

    我有一个方法 implementation SomeClass void thisMethod ObjectA objA APIClient connectToAPIWithCompletionHandler id result if re
  • ZF2 - BjyAuthorize - 如何从数据库获取规则和防护

    我使用 BjyAuthorize 和 Zend Framework2 来实现授权 并且能够成功集成数据库中的角色 现在我想从数据库表中获取我的规则和守卫 我怎样才能做到这一点 这里最简单的方法和 技巧 实际上是 将您的规则和防护设置为与示例
  • Firebase 托管部署到其他站点

    如何部署到同一项目中定义的其他 Firebase 托管站点 我创建了多个 Firebase 托管 站点 命令 firebase deploy 但始终部署到第一个 如何指定将静态文件部署到另一个 站点 和域 Thanks 您必须将其他站点添加
  • k个元素的最大和不大于m

    这个问题来自一个编程竞赛 我无法在可接受的时间内解决它 给你一个数组a of n整数 找出最大的总和s正是k不超过给定整数的元素 不一定连续 m s lt m 限制条件 0 lt k lt n lt 100 m lt 3000 0 lt a
  • 如何同时使用导航规则和 f:ajax

    这是我的场景 我想在某些情况下通过 Ajax 更新页面 在其他情况下执行导航规则 我的用例是登录表单 我希望他们在 uname password 失败时通过 ajax 收到错误消息 但如果成功则导航到新页面 有人使用 JSF2 0 f aj
  • Java isNan 是如何工作的?

    我正在看openjdk 1 7 0 25源码中我见过这个方法 Returns code true if the specified number is a Not a Number NaN value code false otherwis
  • RDS 集群和数据库实例概念

    我需要创建 RDS Aurora 5 7 数据库 我想我对RDS的概念不太清楚 这是正确的层次结构吗 aws rds cluster gt aws rds cluster instance gt aws db instance我应该需要定义
  • 请求标头未从拦截器角度 2/4 成功更新(401 处理)

    我正在使用 Http 拦截器并尝试重试失败的请求来处理401 error 我正在尝试设置一个新标头来更新请求 但它不起作用 我注意到我的标头没有通过请求设置 而是转到lazyUpdates内部标头 任何人都可以告诉我为什么会发生这种情况 检
  • 更改 emacs 文本模式的边距

    我发现根据自己的喜好更改 emacs 中的边距而又不会出现滑稽的情况的唯一方法是 add hook window configuration change hook lambda set window margins car get buf
  • codeigniter 中的无限滚动 jquery 插件

    我的 config 文件夹中有一个 pagination php 文件 代码如下 config num links 5 config use page numbers TRUE config query string segment pag
  • 使用批处理文件计算文件夹和子文件夹的数量

    我正在创建一个批处理文件 当给定路径时 它将计算其中的所有文件夹和子文件夹 到目前为止 我只能收集路径第一层内的文件夹数量 然后我会将其传输到一个文本文件 这是我到目前为止所拥有的 for f a in dir b ad folder fi
  • mgcv bam() 错误:无法分配大小为 99.6 Gb 的向量

    我正在尝试使用 bam mgcv 库 拟合加法混合模型 我的数据集包含来自对 300 个健康中心内 2 10 5 名儿童生长情况的纵向研究的 10 6 观察结果 我正在寻找每个中心的坡度 模型是 bam haz s month bs cc
  • 使用 uint64_t 作为键和结构体作为值的 GHashTable

    我正在学习GHashTable 虽然 Stackoverflow 中已经有一些例子 但它们只是一些常见的情况 所以我仍然不确定如何实现我的要求并决定寻求帮助 我想用一个uint64 t作为钥匙和struct作为价值 我发现没有这样的内置哈希
  • 您可以将 VectorDrawable pathData 转换为 Path 对象吗

    是否可以拉动pathData出于一个VectorDrawable并将其转换为Path目的 我想创建一个自定义ViewOutlineProvider并给它一个任意形状来剪切和投射阴影 如果有办法直接使用VectorDrawable那就更好了
  • 内联柔性容器宽度不增长

    考虑以下布局 div class div span class span1 test span span class span2 test test test test test span div 和CSS div display inli
  • 是否有一个 Excel 公式可以搜索列表并突出显示包含不同列表中的单词的文本? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在 Excel 文档中有两个表 更像是列表 两者都只是一列 我想创建一个公式来搜索第一个列表并突出显示包含第二个列表中的某个单词的任
  • Qt 翻译非源文件中的字符串

    我有一个使用 XML 文件的 Qt 项目 这些 XML 文件包含人类可读的文本 并且应使用 Qt 工具 lupdate lrelease QtLinguist 翻译该文本 问题是是否可以通过 lupdate 在 ts 文件中生成条目 而无需
  • Jetpack compose 中使用 AppCompatActivity 代替 ComponentActivity

    我想打开datePickerJetpack compose 中单击按钮上的对话框 为此 我在按钮的内部使用以下代码onClick action val context LocalContext current Button onClick