-1

私のコード:

public class SpeedZonesFragment extends Fragment implements OnItemSelectedListener {


    Spinner spinner;


... // Declaring onCreate and so on

    spinner = (Spinner) view.findViewById(R.id.chosen_zone);
    ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(MainActivity.this, R.array.speed_zones, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() // the program continues

エラーが発生します: No enclosing instance of the type MainActivity is accessible in scope

なぜこれを行うのかはわかりますが、修正する方法はわかりません。私はMainActivityViewPagerのタブを処理するだけのを持っています。

.createFromResource運が悪かったので使ってみました。

私は解決策が基本的かもしれないことを知っていますが、解決策を探してさまざまなアプローチを試みた後、OnItemSelectedListener私は単に答えを見つけることができません。MainActivityアダプターを別の方法でスコーピングまたは実装するために(を機能させるために)何が欠けていますListenerか?

4

1 に答える 1

3

の代わりにMainActivity.this、フラグメントで行うことができgetActivity()ます。

于 2013-02-04T15:59:41.553 に答える