View.OnClickListener handleOnClick(ToggleButton mButton, boolean mBoolean) {
return new View.OnClickListener() {
public void onClick(View v) {
mBoolean = !mBoolean;
updateUi(mButton, mBoolean);
}
};
}
mBoolean и mButton «доступ внутри внутреннего класса должен быть объявлен окончательный»не удается получить доступ к переменной в пределах внутреннего класса, но мне нужно, чтобы изменить переменную, поэтому я не могу объявить его окончательным либо
Но когда я это делаю, я не могу выполнить mBoolean =! MBoolean, потому что говорит, что я не могу изменить конечную переменную.
но он все еще говорит, что я не могу выполнить updateUi (mButton,! MBoolean); потому что они должны быть объявлены окончательными. Неужели я могу сделать это, не объявив их окончательными? Потому что я хочу знать, как это сделать, поскольку мне нужно изменить переменные в будущем. –
Мне нужно больше вашего кода. Возможно, вам не нужно, чтобы это было окончательным, и вы можете передать логическое значение этому коду с тем же значением, что и mboolean. Затем, откуда объявляется mboolean, вы меняете его там. – LeChosenOne
Спасибо за помощь! Я очень ценю ваши усилия. Мой код совсем другой и запутанный, и это будет еще более запутанным для чтения. В принципе, идея очень проста. Я пытаюсь сделать это: создать массив ToggleButton, а также логический массив для отслеживания состояния. Когда onClick запускается для какой-либо конкретной кнопки, это состояние изменится (скажем, от off to on), и так будет доступно (скажем, от «button1_off.png» до «button1_on.png». Я только начинаю учиться поэтому я не могу думать о более умном способе сделать это. Еще раз спасибо! –