我试图在列表标题中添加Viewpager(使用支持库4),但它没有显示任何内容.这是我的代码请帮忙.它将在列表标题中不作为项目,因此它不应该是一个问题.
public class CustomActivity extends ListActivity { private static int NUM_AWESOME_VIEWS = 20; private Context cxt; private CustomPageAdapter pageAdapter; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] items = { "this","is","my","list","view","data" }; this.cxt = this; ViewPager viewPager = new ViewPager(this); pageAdapter = new CustomPageAdapter(); viewPager.setAdapter(pageAdapter); viewPager.requestLayout(); getListView().addHeaderView(viewPager); setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items)); } private class CustomPageAdapter extends PagerAdapter{ @Override public int getCount() { return NUM_AWESOME_VIEWS; } /** * Create the page for the given position. The adapter is responsible * for adding the view to the container given here,although it only * must ensure this is done by the time it returns from * {@link #finishUpdate()}. * * @param container The containing View in which the page will be shown. * @param position The page position to be instantiated. * @return Returns an Object representing the new page. This does not * need to be a View,but can be some other container of the page. */ @Override public Object instantiateItem(View collection,int position) { TextView tv = new TextView(cxt); tv.setText("Bonjour PAUG " + position); tv.setTextColor(Color.WHITE); tv.setTextSize(20); ((ViewPager) collection).addView(tv,0); return tv; } /** * Remove a page for the given position. The adapter is responsible * for removing the view from its container,although it only must ensure * this is done by the time it returns from {@link #finishUpdate()}. * * @param container The containing View from which the page will be removed. * @param position The page position to be removed. * @param object The same object that was returned by * {@link #instantiateItem(View,int)}. */ @Override public void destroyItem(View collection,int position,Object view) { ((ViewPager) collection).removeView((TextView) view); } @Override public boolean isViewFromObject(View view,Object object) { return view==((TextView)object); } /** * Called when the a change in the shown pages has been completed. At this * point you must ensure that all of the pages have actually been added or * removed from the container as appropriate. * @param container The containing View which is displaying this adapter's * page views. */ @Override public void finishUpdate(View arg0) { } @Override public void restoreState(Parcelable arg0,ClassLoader arg1) { } @Override public Parcelable saveState() { return null; } @Override public void startUpdate(View arg0) { } } }