Cómo lograr ViewPager (siguiente / anterior) en la aplicación de reproductor de música

Quiero saber cómo puedo lograr el siguiente y el anterior usando el desplazamiento a través de un buscapersonas de vista. El resultado final que quiero es el que tiene Google Play Music. He subido una foto de lo que se está comportando mi aplicación y también lo que espero. Básicamente, no puedo obtener mi ViewPager para mostrarme las vistas previas de las pistas siguiente y anterior. ¿Puede alguien por favor me ayude con cómo puedo rellenar el paginador de vista con las páginas de las pistas que quiero jugar por lo tanto lograr que Google reproducir música siguiente / anterior deslizar en su pantalla de reproducción de música.

La imagen de la izquierda es Google Play Music ya la derecha está mi aplicación de reproductor de música.

public class PlayPagerAdapter extends FragmentStatePagerAdapter { final String POSITION = "position"; Context mContext; public PlayPagerAdapter(FragmentManager fm,Context context) { super(fm); mContext = context; } @Override public void destroyItem(ViewGroup container, int position, Object object) { super.destroyItem(container, position, object); } @Override public Fragment getItem(int position) { Fragment fragment = new FragmentNowPlaying(); Log.e("CHASE MUSIC","The get Item position is " + position); Bundle args = new Bundle(); args.putInt(POSITION, position); fragment.setArguments(args); return fragment; } @Override public int getCount() { mApp = (Common) mContext.getApplicationContext(); try { if (mApp.getService().getQueue().length !=0 ) { return mApp.getService().getQueue().length; } else { mApp.getService().stopSelf(); return 0; } }catch(Exception e){ e.printStackTrace(); return 0; } } } 

Ahora bien, a continuación he añadido el código del fragmento de código en particular que tiene el valor de posición del adaptador de fragmentos. Tenga en cuenta que el servicio hace la mayor parte de la carga pesada, es decir, las canciones de la cola, siguiente, anterior, pausa, reproducción son todas manejadas por el servicio.

  public void updateTrackInfo() { songPosition = getArguments().getInt(POSITION); Log.e("Chase Music SongPos","Song Position is: "+ songPosition); if (mService == null) { return; } try { long songid = songPosition; ((View) mArtistName.getParent()).setVisibility(View.VISIBLE); ((View) mAlbumName.getParent()).setVisibility(View.VISIBLE); String artistName = mService.getArtistName(); if (MediaStore.UNKNOWN_STRING.equals(artistName)) { artistName = getString(R.string.unknown_artist_name); } mArtistName.setText(artistName); String albumName = mService.getAlbumName(); long albumid = mService.getAlbumId(); if (MediaStore.UNKNOWN_STRING.equals(albumName)) { albumName = getString(R.string.unknown_album_name); albumid = -1; } mAlbumName.setText(albumName); mSongName.setText(mService.getTrackName()); mAlbumArtHandler.removeMessages(GET_ALBUM_ART); mAlbumArtHandler.obtainMessage(GET_ALBUM_ART, new AlbumSongIdWrapper(albumid, songid)).sendToTarget(); mCoverArt.setVisibility(View.VISIBLE); mDuration = mService.duration(); } catch (RemoteException ex) { getActivity().finish(); } } 

Llamo el método anterior en onActivityCreated ().

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.