I am using the following code, MAX is 2 pages. By default the position is 0 and adds a new page to the right. I inflate two layout files.
How can I show the page1 when the app starts and add a new page to the left ? Thanks.
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <android.support.v4.view.ViewPager android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/pagerView" /> </LinearLayout>
Java code
public class MyPagerActivity extends Activity { private Context context; private int pageNumber; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); context = this; ViewPager pagerView = (ViewPager)findViewById(R.id.pagerView); pagerView.setAdapter(new AwesomePagerAdapter()); } private class AwesomePagerAdapter extends PagerAdapter{ @Override public void destroyItem(View collection, int position, Object view) { ((ViewPager) collection).removeView((View)view); } @Override public void finishUpdate(View arg0) { //setPageTitles(getPageNumber()); } @Override public int getCount() { return 2; } @Override public Object instantiateItem(View collection, int position) { /* TextView tv = new TextView(MyPagerActivity.this); tv.setText("Bonjour PAUG " + position); tv.setTextColor(Color.WHITE); tv.setTextSize(30); ((ViewPager) collection).addView(tv,0); return tv;*/ View view = getViewToShow(position); ((ViewPager) collection).addView(view,0); return view; } @Override public boolean isViewFromObject(View view, Object object) { return view==((View)object); } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { // TODO Auto-generated method stub } @Override public Parcelable saveState() { // TODO Auto-generated method stub return null; } @Override public void startUpdate(View arg0) { // TODO Auto-generated method stub } } private View getViewToShow(int position){ View view = null; View layout; LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); switch(position){ case 0: layout = mInflater.inflate(R.layout.elements, null); view = layout; break; case 1: view = layout = mInflater.inflate(R.layout.elements2, null); view = layout; break; } return view; } }
Technically, ViewPager is not deprecated, but the two concrete PagerAdapter implementations — FragmentPagerAdapter and FragmentStatePagerAdapter — are deprecated.
Layout manager that allows the user to flip left and right through pages of data. You supply an implementation of a PagerAdapter to generate the pages that the view shows. ViewPager is most often used in conjunction with android. app.
Have you tried using the setCurrentItem
method?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With