2016-07-22 3 views
-2

나는 사용자가 다이얼에 타겟을 설정하는 워크 앱을 개발 중입니다. 사용자가 임계 값 이상으로 타겟을 입력하면 시작 버튼이 비활성화되어야하고 타겟을 변경하자마자 버튼이 활성화되어야합니다. 시도했지만 대상을 변경하더라도 버튼을 사용하지 않도록 설정했습니다. 여기 내 코드가있다.텍스트를 변경하는 동안 버튼을 사용 또는 사용 중지합니다.

free_walk_elapsed_time_distance.addTextChangedListener(new TextWatcher() { 

     @Override 
     public void afterTextChanged(Editable arg0) { 


     } 

     @Override 
     public void beforeTextChanged(CharSequence arg0, int arg1, 
             int arg2, int arg3) { 


     } 

     @Override 
     public void onTextChanged(CharSequence arg0, int start, int before, 
            int count) { 
      if (arg0.length() == 0) { 
       // No entered text so will show hint 
       free_walk_elapsed_time_distance.setTextSize(TypedValue.COMPLEX_UNIT_SP, mHintTextSize); 
      } else { 
       free_walk_elapsed_time_distance.setTextSize(TypedValue.COMPLEX_UNIT_SP, mRealTextSize); 
      } 
      if (arg0.length() > 0) { 
       // add toast message 
       if (targetType.equals(ParamConstants.FREE_WALK_TIMEBASEDWALK)) { 
        if (Integer.parseInt(getTargetString()) > 120) { 
         // startFreeWalk(); 
         Toast.makeText(getActivity(), "Please enter a target between 1 and 120 minutes", Toast.LENGTH_LONG).show(); 
        } 

       } 
       else{ 
        if(Integer.parseInt(getTargetString()) > 30) { 
         Toast.makeText(getActivity(), "Please enter a target between 1 and 30 kilometers", Toast.LENGTH_LONG).show(); 
         free_walk_start_btn.setClickable(false); 
         free_walk_start_btn.setBackgroundColor(Color.parseColor("#808080")); 
        } 

       } 
       mSeekArkfreeWalk.setProgress(Integer.parseInt("" + arg0)); 
       mSeekArkfreeWalkDistance.setProgress(Integer.parseInt("" + arg0)); 
      } 
     } 

어떤 신체가 올바른지 말해 줄 수 있습니까?

+0

'(false)를 Button.setEnabled,'트릭을해야한다. – Vucko

+0

[Android : Button enabled 속성이 작동하지 않습니다.] (http://stackoverflow.com/questions/19705450/android-button-enabled-property-is-not-working) – ant

+0

@vucko 이렇게하면 버튼이 비활성화되지만 나는 사용자가 유효한 표적을 설정할 때 가능하게하고 싶다. –

답변

0
free_walk_elapsed_time_distance.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

      if (!s.toString().trim().equals("")) { 
      //write your code 

       myButton.setEnabled(false); 
      } else { 

      } 
     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, 
             int after) { 
     } 

     @Override 
     public void afterTextChanged(Editable s) { 
      myButton.setEnabled(true); 
     } 
    }); 
0
if (arg0.length() > 0) { 
        // add toast message 
        if (targetType.equals(ParamConstants.FREE_WALK_TIMEBASEDWALK)) { 
         if (Integer.parseInt(getTargetString()) > 120) { 
          // startFreeWalk(); 
          Toast.makeText(getActivity(), "Please enter a target between 1 and 120 minutes", Toast.LENGTH_LONG).show(); 
         }else{ 
          free_walk_start_btn.setClickable(true);//ENABLE 
BUTTON BACK 
    free_walk_start_btn.setEnable(true); 
        } 
        else{ 
         if(Integer.parseInt(getTargetString()) > 30) { 
          Toast.makeText(getActivity(), "Please enter a target between 1 and 30 kilometers", Toast.LENGTH_LONG).show(); 
          free_walk_start_btn.setClickable(false); 
          free_walk_start_btn.setBackgroundColor(Color.parseColor("#808080")); 
         } 

        } 
        mSeekArkfreeWalk.setProgress(Integer.parseInt("" + arg0)); 
        mSeekArkfreeWalkDistance.setProgress(Integer.parseInt("" + arg0)); 
       } 
관련 문제