2016-08-27 20 views
1

私は1つのボタンで再生と一時停止のアクションを追加しようとしています これは私のコードです。1つのボタンに複数のアクションを追加するにはどうすればいいですか?

fab_play_pause.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      timerHasStarted = true; 
      countDownTimer.start(); 


      Resources res = getResources(); 
      Drawable drawable = res.getDrawable(R.drawable.custom_progressbar_drawable); 
      final ProgressBar mProgress = (ProgressBar) rootView.findViewById(R.id.circularProgressbar); 
      mProgress.setProgress(0); // Main Progress 
      mProgress.setSecondaryProgress(100); // Secondary Progress 
      mProgress.setMax(100); // Maximum Progress 
      mProgress.setProgressDrawable(drawable); 
      mProgress.setRotation(0); 

      ObjectAnimator animation = ObjectAnimator.ofInt(mProgress, "progress", 0, 100); 
      animation.setDuration(startTime); 
      animation.setInterpolator(new DecelerateInterpolator()); 
      animation.start(); 

     } 
    }); 
+0

あなたの状態を確認して、状態に関するアクションを実行します。他の場合は単純です。 –

答えて

3

あなたは、このことによってそれを達成することができます:

セットそれはデフォルトDrawbleについて

fab_play_pause.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
      String text = btnAdd.getText().toString(); 

       if(text.equalsIgnoreCase("Play")){ 
        //your code 
        fab_play_pause.setText("pause") 
       } 
       else if(text.equalsIgnoreCase("pause")) 
       { 
        //your code 
        fab_play_pause.setText("Play") 
       } 
      } 
     }); 

を再生する:

fab_play_pause.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
       int resId = (Integer) view.getTag(); 

        if(resId == R.drawable.play){ 
         //your code 
         //change background for pause 
        } 
        else if(resId == R.drawable.pause) 
        { 
         //your code 
         //change background for play 
        } 
       } 
      }); 
+1

'==' - > 'equals' – Shaishav

+0

ボタンがブーリアン状態の変数に既に反応しているのを見るでしょう状態への反応(UIのテキストまたは描画可能なもの)... –

0

ソリューション

private static final String PLAY_ICON = "playIcon"; 
    private static final String PAUSE_ICON = "pauseImage"; 

    fab_play_pause.setImageResource(R.drawable.ic_play_arrow_white_24dp); 
    fab_play_pause.setTag(PLAY_ICON); 
    fab_play_pause.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      String tag = (String) view.getTag(); 

      if (view.getTag() == PLAY_ICON){ 
       Toast.makeText(getContext(), "play",Toast.LENGTH_LONG).show(); 
       fab_play_pause.setTag(PAUSE_ICON); 
      }else if (view.getTag() == PAUSE_ICON){ 
       Toast.makeText(getContext(), "pause",Toast.LENGTH_LONG).show(); 

      } 
     } 
    }); 
関連する問題