0

我有以下代码:

        // 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 无法解析为变量

4

2 回答 2

1

这是因为您FavList在本地范围内定义。方法未知,test因此您收到错误 FavList 无法解析为变量。

全局定义FavList并在同一行 ( FavList = new ArrayList<String>();) 中对其进行初始化将解决此问题。

于 2012-08-10T10:46:48.317 回答
1

1.您已经声明并初始化范围FavList内。Anonymous Inner Class

2. Declare and Initialize它在Outer Class 范围内,并在内部类中使用它。

3.如果您在方法中声明和初始化它,请制作它final以便可以从内部类访问它。

于 2012-08-10T10:51:35.620 回答