Change button text and action - android development

I'm having trouble figuring out how to change the text and action of a button. What I want to do is have a button with the text "play" and when clicked it will play a song and change the text to "pause". then when you click it again, it will pause the song and change the text to "play".

I know how to use the mediaplayer (the coding) and just don't know how to code the button that way:

so far I have:

final Button testButton = (Button) findViewById(R.id.button1);
testButton.setText("Play");
testButton.setOnClickListener( new View.OnClickListener() {

@Override
public void onClick (View v) {
mPlayer.start();
testButton.setText("Pause");

Solution 1:

You can use setTag. So, your code will look like,

final Button testButton = (Button) findViewById(R.id.button1);
testButton.setTag(1);
testButton.setText("Play");
testButton.setOnClickListener( new View.OnClickListener() {
    @Override
    public void onClick (View v) {
        final int status =(Integer) v.getTag();
        if(status == 1) {
            mPlayer.start();
            testButton.setText("Pause");
            v.setTag(0); //pause
        } else {
            testButton.setText("Play");
            v.setTag(1); //pause
        }
    }
});

About setTag

Solution 2:

private bool isPlaying=false;
final Button testButton = (Button) findViewById(R.id.button1);
testButton.setText("Play");
testButton.setOnClickListener( new View.OnClickListener() {

@Override
public void onClick (View v) {
if(!isPlaying){
  mPlayer.start();
  testButton.setText("Pause");
  isPlaying=true;
}else{
  mPlayer.stop();
  testButton.setText("Play");
  isPlaying=false;
}

I thing you've got the idea. Though, I'm not sure about MediaPlayer states.