我是Android编程新手。
我想使用for循环来做类似的事情。
这里是我的代码:android setOnclickListener onClick方法非最终变量
int stubs[] = {R.id.stub_1, R.id.stub_2, R.id.stub_3};
View viewStubs[] = {stub_1, stub_2e, stub_3};
Button buttons[] = {button2, button3, button4};
button2 = (Button)findViewById(R.id.button2);
button3 = (Button)findViewById(R.id.button3);
button4 = (Button)findViewById(R.id.button4);
for(int i=0; i<buttons.length; i++){
buttons[i].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(viewStubs[i] == null){
viewStubs[i] = ((ViewStub)findViewById(stubs[i])).inflate();
}
}
}
}
然而,在方法的onClick “我” 的错误:
Cannot refer to a non-final variable i inside an inner class defined in a different method
检查以下问题 http://stackoverflow.com/questions/1299837/cannot-refer-to-a-non-final-variable-inside-an-inner-class-defined-in-a -differen – barrel 2012-08-01 10:32:11
在Java中没有关闭的版本少于7!你不能在内部类中使用局部var'i'。你应该重写你的代码 – Serjio 2012-08-01 10:36:49
你可以做一个最终的int var并将它分配给我。然后将新的var传递给内部类... – Shark 2012-08-01 10:40:38