Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 更改文本时启用和禁用按钮_Android - Fatal编程技术网

Android 更改文本时启用和禁用按钮

Android 更改文本时启用和禁用按钮,android,Android,我正在开发一个walk应用程序,其中用户可以在拨号盘中设置他的目标。我希望当用户输入的目标值超过阈值时,“开始”按钮应禁用,一旦用户更改目标,按钮应启用。 我试过了,但按钮设置为禁用,即使我更改了目标。这是我的密码 free_walk_elapsed_time_distance.addTextChangedListener(new TextWatcher() { @Override public void afterTextChanged(Editable ar

我正在开发一个walk应用程序,其中用户可以在拨号盘中设置他的目标。我希望当用户输入的目标值超过阈值时,“开始”按钮应禁用,一旦用户更改目标,按钮应启用。 我试过了,但按钮设置为禁用,即使我更改了目标。这是我的密码

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

任何人都能告诉我如何更正它。

按钮。setEnabled(false)
应该可以做到这一点。@vucko的可能副本这将禁用按钮,但我希望在用户设置有效目标时启用。
按钮。setEnabled(true)
    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));
                }
  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); 
        }
    });