2016-08-27 4 views
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

상태를 확인하고 단순한 if를 사용하여 상태에 관한 작업을 수행합니다. –

답변

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의 텍스트 또는 drawable) ... –

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

      } 
     } 
    });