如何在viewpager中添加listview?

时间:2016-02-01 08:12:24

标签: android android-layout listview

如何在viewpager中添加listview(不使用片段)?请你帮助我好吗?提前谢谢。

4 个答案:

答案 0 :(得分:1)

如果您在ViewPager 中使用Fragment会很容易,但是如果您不想使用ViewPager和片段而不是ViewPager Without Fragments,那么将视图和布局添加到ViewPager并且更复杂

一个很好的例子是图片库,用户可以在不同的图片之间滑动。在这些类型的页面上,您真正想要显示的是静态内容视图(在本例中为图像),如何使用ViewPager以及普通的视图和布局。

答案 1 :(得分:0)

最好为viewPager的每个页面使用片段。通过这种方式,您可以轻松维护单个页面

在你的fragment类(一个扩展Fragment的java类)中,你可以使用listview,比如初始化,将adapter设置为listview,为listview项设置onClickListner,就像你在Activity中一样

答案 2 :(得分:0)

您无法使用 ViewPager 活动之间滑动。您需要将每个活动转换为片段,然后将一个FragmentActivity中的所有内容与您与ViewPager一起使用的适配器组合。

答案 3 :(得分:0)

这不是ViewPager的工作方式。您使用PagerAdapter将页面提供给ViewPager。您的ListView将包含在由PagerAdapter创建的片段中。

在布局中:

<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())); simle PagerAdapter的例子:

public class PagerAdapter扩展了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的例子:

公共类FragmentPage扩展了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