我有以下代码:
// If CheckBox is toggled, update the planet it is tagged with.
checkBox.setOnClickListener( new View.OnClickListener() {
public void onClick(View v) {
CheckBox cb = (CheckBox) v ;
Planet planet = (Planet) cb.getTag();
planet.setChecked( cb.isChecked() );
**ArrayList<String> FavList = new ArrayList<String>();
FavList.add(planet.name);**
}
});
public void test (View view){
Intent myintent = new Intent (getApplicationContext(), MultipleItemsList.class);
myintent.putExtra("name", FavList);
startActivity(myintent);
}
}
我想要做的是将已检查的行星添加到“FavList”,然后在单击按钮时填充列表。方法测试加入了一个按钮,但我得到的错误FavList无法解析为变量
答案 0 :(得分:1)
这是因为您在本地范围内定义了FavList
。它在test
方法中是未知的,因此您得到的错误FavList无法解析为变量。
全局定义FavList
并在同一行(FavList = new ArrayList<String>();
)初始化它将解决此问题。
答案 1 :(得分:1)
1。您已在FavList
范围内<{>>声明并初始化 Anonymous Inner Class
。
2。 Declare and Initialize
它位于Outer Class
范围,并在Inner类中使用它。
3。如果您在方法中声明并初始化,请将其设为final
,以便可以访问它来自Inner class。