Использование инструкции Switch для обработки нажатий кнопок

Я пытаюсь сосредоточиться на представлениях, прослушивателях и т. Д. У меня есть действие с двумя кнопками: buttonplay и buttonstop. Моя проблема в том, что я не могу полностью погрузиться в представления и прослушиватели, чтобы сгенерировать рабочий оператор switch.

Например, мне НРАВИТСЯ создать SINGLE Listener и каким-то образом использовать его, чтобы определить, какая кнопка нажата. Затем каким-то образом используйте идентификатор кнопки, нажатой в моем операторе switch. Но все, что я нахожу в Интернете, похоже, использует ОТДЕЛЬНЫЕ прослушиватели для каждой кнопки, а затем каким-то образом использует View в качестве аргумента для оператора Switch.

Я понимаю, что приведенный ниже код является неверно, но я ищу, какие изменения мне потребуются для выполнения вышеуказанного.

Я хочу управлять MediaPlayer в зависимости от того, какая кнопка нажата. У меня есть:

   Button b1 = (Button) findViewById(R.id.buttonplay);       
    b1.setOnClickListener(new View.OnClickListener()         
    {

        public void onClick(View v) {
           // Perform action on click
          switch(v.getId()) {
          case R.id.buttonplay:
          //Play voicefile
          MediaPlayer.create(getBaseContext(), R.raw.voicefile).start();
          break;
          case R.id.buttonstop:
          //Stop MediaPlayer
              MediaPlayer.create(getBaseContext(), R.raw.voicefile).stop();
          break;
         }
   }
    });

В конечном итоге я хотел бы, чтобы был самый простой способ включить любую нажатую кнопку. Я считаю, что большая часть моей путаницы связана с тем, как в этом контексте используются onClickListeners и Views.

15
задан Tamir Abutbul 2 May 2019 в 07:23
поделиться