何时以及如何在详细活动中获取主项目的单个值

时间:2014-07-31 07:15:20

标签: android android-contentprovider master-detail android-cursorloader

我有2项活动(见下图)。

活动1具有ListFragment,其中包含由CursorLoader填充的项目列表。 活动2的ActionBar选项卡包含ListFragments,其中包含详细信息(也由CursorLoader填充)。

我必须从第一张表中读取的标签数量,它是一个项目的属性。 这样做的最佳做法是什么? (什么时候?怎么样?)

当?

  1. 在启动活动2之前的活动1中的OnListItemClick()
  2. 活动2中的OnCreate()
  3. 如果我在OnListItemClick中获得此值 - 对用户的操作看起来会很慢,因为在数据库应答后,Activity 2将启动onLoaderFinished()。

    我的ListFragments实现了LoaderManager.LoaderCallbacks。如果我在onCreate()中获得了多个选项卡 - 我也应该为活动2实现LoaderManager.LoaderCallbacks。这对于装载程序来说是不是太过分了?

    怎么样?

    CursorLoader?使用CursorLoader获取单个值是一个好习惯吗?

    Description

2 个答案:

答案 0 :(得分:0)

像往常一样,没有帮助,我自己的回答!

我用getContentResolver().query(baseUri, PROJECTION1, null, null, null); 在第二项活动的onCreate()

答案 1 :(得分:0)

我遇到了类似的问题,在第二个Activity中实现LoaderManager.LoaderCallbacks似乎是一个好习惯。它添加了一些额外的代码,但是像这样你可以保证查询将始终在自己的线程上进行管理。此外,它还使您无需将光标与Activity生命周期一起处理。