如何在ViewPager中添加ListView?

4
如何在ViewPager中添加ListView(不使用片段)?你能帮我吗?谢谢。

尝试在pagerAdapter中扩展您的列表。 - Pr38y
只需在您的ViewPager中使用Fragments,一切都应该没问题。 - An-droid
4个回答

1

如果你在ViewPager中使用Fragment,那么很容易实现,但是如果你不想使用带有Fragment的ViewPager,ViewPager Without Fragments就是一个例子,其中你需要向ViewPager添加视图和布局,这更加复杂

一个很好的例子是图片库,用户可以在不同的图片之间滑动。在这些类型的页面上,你真正想要显示的只是静态内容的视图(在这种情况下是一张图片),如何利用ViewPager来处理普通的视图和布局。


0
最好为viewPager的每个页面使用fragment。这样,您将能够轻松地维护各个页面。
在您的fragment类(一个扩展Fragment的java类)中,您可以像在Activity中一样处理listview,例如初始化,为listview设置适配器,为listview项设置onClickListner。

0

你不能使用ViewPagerActivities之间进行滑动。你需要将每个Activity转换为Fragments,然后使用ViewPager的适配器将它们结合在一个FragmentActivity中。


0

这不是 ViewPager 的工作方式。您需要使用 PagerAdapter 将页面提供给 ViewPager。您的 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;
    }
}

在这里回答 - https://stackoverflow.com/a/28798795/7764015


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接