To implement multiple ListView for a Viewpager take a look at this example:
MainActivity.java
public class MainActivity extends Activity { /** Called when the activity is first created. */ private Context mContext; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; setContentView(R.layout.main); ListView listview1 = new ListView(mContext); ListView listview2 = new ListView(mContext); ListView listview3 = new ListView(mContext); Vector<View> pages = new Vector<View>(); pages.add(listview1); pages.add(listview2); pages.add(listview3); ViewPager vp = (ViewPager) findViewById(R.id.viewpager); CustomPagerAdapter adapter = new CustomPagerAdapter(mContext,pages); vp.setAdapter(adapter); listview1.setAdapter(new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1,new String[]{"A1","B1","C1","D1"})); listview2.setAdapter(new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1,new String[]{"A2","B2","C2","D2"})); listview3.setAdapter(new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1,new String[]{"A3","B3","C3","D3"})); } }
CustomPagerAdapter.java
public class CustomPagerAdapter extends PagerAdapter { private Context mContext; private Vector<View> pages; public CustomPagerAdapter(Context context, Vector<View> pages) { this.mContext=context; this.pages=pages; } @Override public Object instantiateItem(ViewGroup container, int position) { View page = pages.get(position); container.addView(page); return page; } @Override public int getCount() { return pages.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view.equals(object); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_height="fill_parent" android:layout_width="fill_parent" /> </LinearLayout>
Original from this blogpost, thank to Oxygen