Изменить текст и действие кнопки - разработка Android-приложений - программирование
Подтвердить что ты не робот

Изменить текст и действие кнопки - разработка Android-приложений

Мне сложно понять, как изменить текст и действие кнопки. То, что я хочу сделать, это кнопка с текстом "play", и при нажатии на нее будет воспроизводиться песня и изменить текст на "пауза". затем, когда вы нажмете его снова, он приостановит песню и изменит текст на "воспроизведение".

Я знаю, как использовать медиаплеер (кодирование) и просто не знаю, как закодировать кнопку таким образом:

До сих пор я:

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");
4b9b3361

Ответ 1

Вы можете использовать setTag. Итак, ваш код будет выглядеть,

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
        }
    }
});

О setTag

Ответ 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;
}

У меня есть идея. Хотя, я не уверен в состояниях MediaPlayer.