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.スコープ内でを宣言して初期化しました。FavListAnonymous Inner Class

2. スコープDeclare and Initializeでそれを使用し、内部クラスで使用します。Outer Class

3.メソッド内で宣言および初期化する場合は、内部finalクラスからアクセスできるようにします。

于 2012-08-10T10:51:35.620 に答える