Изменить текст кнопки и действия - разработка Android - PullRequest
18 голосов
/ 09 июня 2011

Мне трудно понять, как изменить текст и действие кнопки.Что я хочу сделать, так это иметь кнопку с текстом «play», и при нажатии она будет воспроизводить песню и изменять текст на «pause».затем, когда вы щелкнете по нему еще раз, песня будет приостановлена ​​и текст будет изменен на «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");

Ответы [ 2 ]

26 голосов
/ 09 июня 2011

Вы можете использовать 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

3 голосов
/ 09 июня 2011
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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...