我的代码:
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
我知道为什么会这样做而不是如何修复它。
我有MainActivity
除了处理ViewPager标签之外什么都不做。
我试图使用.createFromResource
但没有运气。
我知道解决方案可能是基本的,但经过几个小时的浏览解决方案并尝试不同的方法来实现OnItemSelectedListener
我根本找不到答案。对于范围MainActivity
或以不同方式实现适配器(为了使Listener
工作),我缺少什么?
答案 0 :(得分:3)
而不是MainActivity.this
,您可以在片段中执行getActivity()
。