AndroidView中的ImageView按钮切换

Thr*_*eaT 0 android button imagebutton

当我点击它时,我正在尝试制作一个ImageView按钮.我有以下代码:

    ImageView button01 = (ImageView) findViewById(R.id.button01);
    button01.setOnClickListener(new OnClickListener() {
        int button01pos = 0;
        public void onClick(View v) {
            if (button01pos == 0) {
                button01.setImageResource(R.drawable.image01);
                button01pos = 1;
            } else if (button01pos == 1) {
                button01.setImageResource(R.drawable.image02);
                button01pos = 0;
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,在Eclipse中,button01以红色加下划线并且它给出了错误:

不能引用在不同方法中定义的内部类中的非final变量button01

有谁知道它为什么这样做以及如何解决它?

谢谢

Thr*_*eaT 7

这是工作代码:

final ImageView button01 = (ImageView) findViewById(R.id.button01);
button01.setOnClickListener(new OnClickListener() {
    int button01pos = 0;
    public void onClick(View v) {
        if (button01pos == 0) {
            button01.setImageResource(R.drawable.image01);
            button01pos = 1;
        } else if (button01pos == 1) {
            button01.setImageResource(R.drawable.image02);
            button01pos = 0;
        }
    }
});
Run Code Online (Sandbox Code Playgroud)