无法访问内部类中的变量,但我需要更改变量,因此我也无法将其声明为final

Lia*_*Cui 0 java final

View.OnClickListener handleOnClick(ToggleButton mButton, boolean mBoolean) {
    return new View.OnClickListener() {
        public void onClick(View v) {
            mBoolean = !mBoolean;
            updateUi(mButton, mBoolean);
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

mBoolean和mButton"是从内部类中访问的,需要声明为final"

但是当我这样做时,我不能做mBoolean =!mBoolean,因为它说我无法改变最终变量.

LeC*_*One 6

只需传递mBoolean即可 updateUi(mButton, !mBoolean);