如何为列表的每个项目设置View Pager

时间:2013-11-07 15:15:12

标签: android android-viewpager

我在Android应用中有一个项目列表,我希望每个项目都在一个页面上。问题是每个项目都设置了一个带有imageview的布局,从一个唯一的URL下载它的图像。这有可能实现吗?请问如何?

需要帮助(以任何形式)

1 个答案:

答案 0 :(得分:1)

每个页面都应该是一个片段,根据您的项目对象,您可能希望实现Parcelable并将您的对象作为参数传递给您的片段,如下所示:

你的FragmentPagerAdapter中的

@Override
public Fragment getItem(int position) { 
    PageFragment fragment = new PageFragment();
    Bundle bundle = new Bundle();
    bundle.putParcelable("ARGUMENT_KEY_NAME", itemObjectsList.get(position));
    fragment.setArguments(bundle);
    return fragment;
}

并在你的Fragment代码中,像这样阅读你的对象:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Bundle bundle = this.getArguments();
    Item item = bundle.getParcelable("ARGUMENT_KEY_NAME");
    // do things with your Item object
}

或者,如果您的项目对象太大或者由于任何其他原因您无法轻松地在Bundle中传递整个对象,您只需传递要创建的片段的相关信息,即文本和图像网址等...