I make a music player. Faced the problem of switching to the next track contained in the array sounds []. How to transfer currentSound index of a new record?
public class MainActivity extends AppCompatActivity { MediaPlayer currentSound; int[] sounds; int[] soundsNames; int currentIndex = 0; int currentNameIndex = 0; private static String TAG = "LOGGIN"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sounds = new int[] {R.raw.rain, R.raw.sea, R.raw.birds}; soundsNames = new int[] {R.string.soundNameRain, R.string.soundNameSea, R.string.soundNameBirds}; currentSound = MediaPlayer.create(this, sounds[currentIndex]); Button nextButton = (Button) findViewById(R.id.nextButton); Button prevButton = (Button) findViewById(R.id.prevButton); Button playButton = (Button) findViewById(R.id.playStopButton); final TextView playNow = (TextView) findViewById(R.id.playingNow); View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View view) { switch (view.getId()){ case R.id.nextButton: if (currentNameIndex<soundsNames.length - 1){currentNameIndex++;} else currentNameIndex = 0; Log.i(TAG, String.valueOf(currentNameIndex)); playNow.setText(soundsNames[currentNameIndex]); if (currentIndex<sounds.length-1){currentIndex++;} else currentIndex = 0; Log.i(TAG, "currentIndex: " + String.valueOf(currentIndex)); currentSound.reset(); break; case R.id.prevButton: if (currentNameIndex>0){currentNameIndex--;} else currentNameIndex = soundsNames.length - 1; Log.i(TAG, String.valueOf(currentNameIndex)); playNow.setText(soundsNames[currentNameIndex]); if (currentIndex>0){currentIndex--;} else currentIndex = sounds.length-1; Log.i(TAG, "currentIndex: " + String.valueOf(currentIndex)); currentSound.reset(); break; case R.id.playStopButton: if(currentSound.isPlaying()){ currentSound.pause(); Log.d(TAG, "Stop"); } else{ currentSound.start(); currentSound.setLooping(true); Log.d(TAG, "Starting + Looping"); } break; } } }; playNow.setText(soundsNames[currentNameIndex]); Log.i(TAG, "App ready"); nextButton.setOnClickListener(listener); prevButton.setOnClickListener(listener); playButton.setOnClickListener(listener); }