android 如何在 viewpager 中添加列表视图

How add a listview inside a viewpager in android

我一直在尝试获得一个列表视图,可以通过滑动来更改其项目以显示下一周或前一周的详细信息。这是我的布局文件的样子 '

<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/home_pannels_pager">

    <ListView
        android:id="@+id/week_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</android.support.v4.view.ViewPager>

但是我没有得到我想要的。请你帮助我好吗?提前致谢。

这不是 ViewPager 的工作方式。您将页面送入 ViewPager with a PagerAdapter。您的 ListView 将包含在由 PagerAdapter 创建的 Fragment 中。

布局中:

<android.support.v4.view.ViewPager
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/home_pannels_pager" />

在具有此布局的 FragmentActivity 中:

ViewPager pager = (ViewPager) findViewById(R.id.viewPager);
pager.setAdapter(new PagerAdapter(getSupportFragmentManager()));

简单的 PagerAdapter 示例:

public class PagerAdapter extends FragmentPagerAdapter {

    public FrontPageAdapter(FragmentManager Fm) {
        super(Fm);
    }

    @Override
    public Fragment getItem(int position) {
        Bundle arguments = new Bundle();
        arguments.putInt("position", position);
        FragmentPage fragment = new FragmentPage();
        fragment.setArguments(arguments);
        return fragment;
    }

    @Override
    public int getCount() {
        // return count of pages
        return 3;
    }
}

FragmentPage 示例:

public class FragmentPage extends Fragment {

    public FragmentPage() {}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_frontpage, container, false);  
        // probably cast to ViewGroup and find your ListView          

        Bundle arguments = getArguments();
        int position = b.getInt("position");

        return view;
    }
}