gpt4 book ai didi

android - 在 Activity 之间共享光标

转载 作者:太空狗 更新时间:2023-10-29 12:58:00 26 4
gpt4 key购买 nike

我认为以下场景很常见,但我想不出实现它的方法:

我们有三个 Activity 和一个数据库。我们要求用户输入以在数据库中搜索。查询应该没有、一个或可能的结果。

  • 如果没有得到,您只需通知用户即可。
  • 如果您只得到一个,您可以在新的 Activity 中以正确的 View 显示它。
  • 如果你得到很多,你会在一个列表中显示它们,让用户选择正确的一个,然后你将其传递给 Activity ,在只有一个结果的情况下显示数据。

问题是,为了知道结果的数量,您需要在第一个 Activity 中进行查询(并获取游标)。如果您获得多个结果,则需要将数据(传递光标?)发送到列表 Activity 。在列表 Activity 中再次执行查询不会是正确的,对吧?

我知道您可以使用内容提供程序共享游标,但是由于 Activity 来自同一个应用程序并且数据是私有(private)的(在外部无用),所以看不到让其他任何人都可以使用它的意义.

我在这里读到,您可以创建一个可打包的游标并将其打包发送,但我不确定这是否是正确的用法。

关于如何解决这个问题有什么想法吗?

提前致谢。

最佳答案

选项 #1:搜索 Activity 执行的查询只是 SELECT _ID FROM...在“无”的情况下,它会显示消息。在“一个”情况下,它会将匹配的 _ID 传递给详细信息 Activity ,以通过查询获取该行所需的所有列来查看匹配项。在“许多”情况下,它将搜索词传递给列表 Activity ,该 Activity 运行完整查询(包括显示列表所需的所有列)。

选项 #2:将搜索 Activity 和列表 Activity 合并为一个 Activity 。基本上,将“搜索并选择要查看的项目”视为“UI 事务”,并在一个 Activity 中完成所有操作。搜索 Activity 将执行足以在“多”情况下填充列表的查询,在 AlertDialog 中或通过 ViewFlipper 或其他方式在主要 Activity 本身中显示列表.在“无”的情况下,它显示消息。在“one”情况下——或者当用户点击列表中的条目时——它会将内容传递给详细信息 Activity 以查看该项目。

选项 #3:将您的搜索查询移动到列表 Activity - 您的搜索 Activity 通过附加功能将搜索信息传递到列表 Activity ,这会在 onCreate( )。列表 Activity 处理“无”和“很多”情况。在“一个”的情况下,它只是在详细信息 Activity 上调用 startActivity() 并调用 finish(),以便在用户按下 BACK 时控制返回到搜索 Activity 。

在其他条件相同的情况下,我可能会选择选项 #2。

关于android - 在 Activity 之间共享光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4237347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com