我有一个包含三个下拉框的布局,每个下拉框中的选项都不同。
在我的onCreateView
方法中,我有一个设置下拉框的方法。在该方法内部,我类似于这样:
mySpinner = (Spinner) view.findViewById(R.id.my_spinner);
ArrayAdapter<String> mySpinner =
new ArrayAdapter<String>(getActivity(), R.layout.background,
new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.spinner_one_data))));
mySpinner.setDropDownViewResource(R.layout.spinner_text);
mySpinner.setAdapter(mySpinner);
mySpinner.setOnItemSelectedListener(this);
就像我之前提到的,我的另外两个微调器几乎相同但有不同的选项。
我知道在“首次设置”中每个微调器都会调用一次onItemSelected
,因此我有一个标记来防止这个问题。使用这个标记解决方案后,我的微调器可以正常工作。
问题是当我在每个微调器中选择一个选项然后旋转屏幕时,onItemSelected
被调用了6次,而不是我期望的3次(我设置了一个标记来管理这种情况下的3次调用)。
为什么会发生这种情况,我应该如何处理?