我尝试将ViewPager
(使用FragmentStatePagerAdapter)添加到我当前的应用中。我到目前为止所做的是主设置/详细设置,其中主设备为GridView
,详细信息(基本上)为ImageView
。我使用CursorLoader
加载光标,并且" connect"它使用CursorAdapter
进入网格视图。
单击网格中的图像,MainActivity
在URI中启动带有相应IMAGE_ID的DetailActivity
。反过来,DetailFragment
有自己的CursorLoader
来获取特定图片并在UI中设置它。
好的东西,除了用户必须来回切换图像。我显然希望能够向左和向右滑动(在图像/细节视图上)以跳转到上一个/下一个图像!这 - 我已经了解 - 是ViewPager
发挥作用的地方。
我找到了一个nice tutorial,但我对这一切如何"网格"有点困惑。与我的current code。正如我所说,我有一个CursorAdapter填充了GridView。我接受它我会保持不变吗?但是,我的DetailFragment是我理解的,我需要一些新的代码。 一些想法和问题,然后:
教程ItemPagerFragment
使用自定义适配器CursorPagerAdapter extends FragmentStatePagerAdapter
。这是为了预先加载"细节碎片,并处理滑动和横向导航。我需要将添加到我的项目中(但这不会取代我的CursorAdapter)?
教程中的ItemPagerFragment
有一个CursorLoader,我不知道它实际上是做什么的。但是,乍看之下,我会假设这个加载器的任务是获取所有图像,这样片段可以(某种方式)"准备"所有"页面" (ItemDetailFragments - 见下文)用户可以在?
教程中的ItemPagerFragment
"持有" FragmentStatePagerAdapter,并使ViewPager
UI膨胀。我认为我需要将这样的类添加到我的应用中,使用CursorLoader在MediaStore
中加载所有图像。
每个"页面"然后,详细视图(图像)的实例是ItemDetailFragment
的实例。据我所知,这相当于my current DetailFragment.它需要一个ID或索引/位置(或某些东西)并将相应的图像加载到ImageView中(使用MediaStore
中的ContentLoader)。
但是如何处理用户点击gridview中的特定图像以加载它? CursorPagerAdapter的getItem()
方法返回ItemDetailFragment
,所以也许我可以使用它来获取所需的片段?但是如何传入(请求)特定的image_id?