Android ViewPager Vorher / Nächste Schaltfläche

Okay, also entwickle ich eine Android App, die einen ViewPager benutzt, um Seiten anzuzeigen.

Innerhalb jeder Seite habe ich eine Reihe von Schaltflächen zum Navigieren zwischen Seiten (zusätzlich zum Swiping zwischen Seiten). Diese Tasten sind für "erste Seite", "vorherige Seite", "nächste Seite" und "letzte Seite".

Was ich nicht herausfinden kann, wie zu tun ist Ingenieur ein Mechanismus, um eine Seite ändern auf eine Schaltfläche klicken.

Wer hat irgendwelche Ideen?

ETA: Um das Setup besser zu erläutern, werden die Schaltflächen innerhalb des Layouts jeder Seite deklariert und mit dem Rest des Layouts im PagerAdapter aufgeblasen. Mein Problem ist, dass ich den ViewPager nicht aus dem PagerAdapter beziehen kann. Oder zumindest kann ich nicht an einen Weg denken, es zu tun.

  • Wie kann ich programmgesteuert Tasten in Layout eins nach dem anderen in mehreren Zeilen hinzufügen?
  • Gibt es eine Standardknopfgröße?
  • Haben alle Android-Geräte "Option" und "Back" -Tasten?
  • Wie töte ich eine Aktivität, wenn die Schaltfläche "Zurück" gedrückt wird?
  • Einstellen der Transparenz auf Schaltflächen in Android
  • Wenden Sie bei gedrückter Taste auf unterschiedliche Schaltflächen an
  • Wie kann man das Hintergrundbild der Schaltfläche ändern, wenn es geklickt / fokussiert ist?
  • Spielen Sie eine Sound-Datei aus dem Internet, wenn eine Schaltfläche angeklickt wird
  • 6 Solutions collect form web for “Android ViewPager Vorher / Nächste Schaltfläche”

    Taste:

     Button yourButton = (Button)findViewById(R.id.button1); yourButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { mViewPager.setCurrentItem(getItem(+1), true); //getItem(-1) for previous } }); 

    Funktion:

     private int getItem(int i) { return mViewPager.getCurrentItem() + i; } 

    Hoffe das hilft 🙂

     yourButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { yourViewPager.setCurrentItem(page, smoothScroll); } }); 

    Ich habe dieses Projekt mit diesem Code beendet.

     vPager = (ViewPager) findViewById(R.id.viewpager); View tempView1 = inflater.inflate(R.layout.ani_dialog1, null); firstView = (ImageView) tempView1.findViewById(R.id.ani_dialog_next); views.add(tempView1); firstView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub vPager.setCurrentItem(1, true); } }); 

    Code aktualisieren

     Button preButton = (Button)findViewById(R.id.pre_button); Button nextButton = (Button)findViewById(R.id.next_button); preButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mViewPager.setCurrentItem(mViewPager.getCurrentItem()-1, true); } }); nextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mViewPager.setCurrentItem(mViewPager.getCurrentItem()+1, true); } }); 
      1)make layout <RelativeLayout android:layout_width="match_parent" android:layout_height="200dp" android:background="@color/white" android:weightSum="1"> <android.support.v4.view.ViewPager android:id="@+id/images_pager" android:layout_width="match_parent" android:layout_height="match_parent" > </android.support.v4.view.ViewPager> <ImageView android:id="@+id/img_next" android:layout_width="35dp" android:layout_height="35dp" android:src="@drawable/forward_white" android:background="@color/colorPrimary" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:layout_marginRight="5dp" android:paddingTop="5dp" android:paddingBottom="5dp" /> <ImageView android:id="@+id/img_previous" android:layout_width="35dp" android:layout_height="35dp" android:src="@drawable/back_white" android:background="@color/colorPrimary" android:layout_centerVertical="true" android:layout_marginLeft="5dp" android:layout_alignParentLeft="true" android:paddingTop="5dp" android:paddingBottom="5dp"/> </RelativeLayout> 2) Set custom Adpter CustomViewPagerAdapter custompageradpter; ViewPager mViewPager; mViewPager = (ViewPager)shareImagesDialouge.findViewById(R.id.images_pager); custompageradpter = new CustomViewPagerAdapter(this); mViewPager.setAdapter(custompageradpter); public class CustomViewPagerAdapter extends PagerAdapter { Context mContext; LayoutInflater mLayoutInflater; int[] mResources = { R.drawable.emoji_1, R.drawable.emoji_2, R.drawable.emoji_3, R.drawable.emoji_4, R.drawable.emoji_5, R.drawable.emoji_6 }; public CustomViewPagerAdapter(Context context) { mContext = context; mLayoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override public int getCount() { return mResources.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == ((LinearLayout) object); } @Override public Object instantiateItem(ViewGroup container, int position) { View itemView = mLayoutInflater.inflate(R.layout.pager_item, container, false); ImageView imageView = (ImageView) itemView.findViewById(R.id.imageView); imageView.setImageResource(mResources[position]); container.addView(itemView); return itemView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((LinearLayout) object); } } 3) for next and previous button case R.id.img_previous: mViewPager.setCurrentItem(getItemofviewpager(-1), true); break; case R.id.img_next: mViewPager.setCurrentItem(getItemofviewpager(+1), true); break; 4) make this function private int getItemofviewpager(int i) { return mViewPager.getCurrentItem() + i; } 
     public void onClick(View v) { int currentItem = mViewPager.getCurrentItem(); mViewPager.setCurrentItem(currentItem+1); //(currentItem-1) } 

    Nur dieser Code in der Schaltfläche klicken: @Override

    getcurrentitem ist das aktuelle Element im viewpager , das nächste Element ist currentItem + 1

    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.