2012-05-01 9 views

risposta

1
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#a4c639" 
android:orientation="vertical" > 

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

</LinearLayout> 





public class ReadRawActivity extends Activity { 

    private ViewPager awesomePager; 
    private static int NUM_AWESOME_VIEWS = 3; 
    private static Context cxt; 
    private AwesomePagerAdapter awesomeAdapter; 

    /** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    cxt = ReadRawActivity.this; 

    awesomeAdapter = new AwesomePagerAdapter(); 
    awesomePager = (ViewPager) findViewById(R.id.awesomepager); 
    awesomePager.setAdapter(awesomeAdapter); 
} 

private class AwesomePagerAdapter 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("View Pager" + position); 
        tv.setTextColor(Color.WHITE); 
        tv.setTextSize(30); 

        ((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) {} 

} 


} 
Problemi correlati