Я создаю приложение для ходьбы, в котором пользователь устанавливает свою цель в циферблате. Я хочу, чтобы пользователь вводил цель более порогового значения, которую кнопка запуска должна отключить, и как только он изменит цель, кнопка должна быть включена. Я попытался, но кнопка отключена, даже если я изменяю цель. Вот мой код.Включить и отключить кнопку при изменении текста
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));
}
}
Может ли любое тело сказать мне, как я могу исправить это.
'Button.setEnabled (ложь),' должен делать трюк. – Vucko
Возможный дубликат [Android: свойство с включенной кнопкой не работает] (http://stackoverflow.com/questions/19705450/android-button-enabled-property-is-not-working) – ant
@vucko это отключит кнопку, но Я хочу включить, когда пользователь устанавливает действительную цель. –