Android 如何将数据从光标添加到viewpager

Android 如何将数据从光标添加到viewpager,android,android-viewpager,android-cursor,Android,Android Viewpager,Android Cursor,是否有方法将数据从游标添加到viewpager,我的游标中有数据,例如4个项目,我需要将每个项目放置在页面上。如何使用游标和viewpager执行此操作? 谢谢。是的,这是可能的,您需要一个PagerAdapter,它将用数据绑定您的PagerView,并生成显示在PagerView上的每个“项目”(每个片段或页面) 因此,首先覆盖PagerAdapter,例如: public class MyPagerAdapter extends PagerAdapter 然后,您必须重写生成PagerA

是否有方法将数据从游标添加到viewpager,我的游标中有数据,例如4个项目,我需要将每个项目放置在页面上。如何使用游标和viewpager执行此操作?
谢谢。

是的,这是可能的,您需要一个PagerAdapter,它将用数据绑定您的PagerView,并生成显示在PagerView上的每个“项目”(每个片段或页面)

因此,首先覆盖PagerAdapter,例如:

public class MyPagerAdapter extends PagerAdapter
然后,您必须重写生成PagerAdapter上每个项的方法,
InstanceItem()
方法。此方法为您提供一个名为position的整数参数,它对应于将在PagerView上显示的项目列表上的项目编号。想象一本书,如果每一页都是一个项目,那么页码就是位置

因此,根据这个位置,每一项都会有不同的方式,您必须通过代码向适配器解释。为此,您可以使用此位置访问数据列表,并在列表和页面之间创建对应关系

假设您有一个具有人名的表Person,并且您检索了所有条目,您创建了一个包含该游标中所有人名数据的列表。现在,您可以使用项目位置来访问列表,例如,
list.get(position)
,通过从特定列表项目中检索数据,您可以创建必须在实例化项时返回的单个页面。例如,您可以对包含名为personName的文本视图的布局进行充气,然后执行类似于
personName.setText(list\u name.get(position))
的操作。现在返回LayoutView。然后,适配器将为列表中的每个项目创建一个视图

所以你可以这样做:

ArrayList<String> names_list = new ArrayList<String>();
对于列表中的每个项目,适配器将运行InstanceItem方法并创建一个项目来填充ViewPager,因此现在您所要做的就是将适配器与ViewPager绑定:

ViewPager pager = (ViewPager)findViewById(R.id.activity_search_viewpager);
pager.setAdapter(adapter);
这只是一个例子来解释PagerAdapter是如何工作的,这个主题比这个要多一些。总之,一旦您熟悉了工作方式,您还可以检查CursorAdapter,这样您就可以直接从游标数据实例化项,而不需要列表

以下是一些您应该检查的SDK参考:


祝您好运:)

是的,ViewPager已连接到ViewPagerAdapter以获取子视图,您可以在ViewPagerAdapter上添加新页面/删除页面,并通过调用adapter.notifyDataSetChanged()更新ViewPager。您指的是PagerAdapter,我如何将其链接到光标?我不明白您的问题。您是否正在寻找自动光标更新,例如CursorAdapter?如果是,这是不可行的。您需要手动迭代光标并填充PagerAdapter。否,我需要将光标的内容添加到viewpager,这意味着我需要在viewpager中显示光标的内容,以便光标的每个项目都位于不同的页面上。在这种情况下,您应该执行以下操作:“您需要手动遍历游标并填充PagerAdapter。”嘿,谢谢,我已经通过本教程完成了:
ViewPager pager = (ViewPager)findViewById(R.id.activity_search_viewpager);
pager.setAdapter(adapter);