我有一个ViewPager
有10个“页面”,在其中一个“页面”(第9页)中我有一些spinners
。
当我在spinners
的页面上时,我有一个标志,以便在初始微调器设置中不会触发`onItemSelected'。
然后我使用了一些spinners
并选择了一些选项(在一个spinners
中我选择了第二个选项而另一个选择了第三个选项)。他们按预期工作。然后我导航到第1页。现在,当我返回到spinners
的页面时,onCreateView
再次被调用,我再次设置了微调器:
firstSpinner = (Spinner) view.findViewById(R.id.myfirstspinner);
ArrayAdapter<String> myAdapter =
new ArrayAdapter<String>(getActivity(), R.layout.background,
new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.firstSpinnerOptions))));
myAdapter.setDropDownViewResource(R.layout.spinnerlayout);
firstSpinner.setAdapter(myAdapter);
firstSpinner.setOnItemSelectedListener(this);
firstSpinner.setSelection(0);
我为所有纺纱厂做这件事。
再次,我设置了标志,以便在初始设置时不会触发`onItemSelected'。
问题是,正如我之前所说,我第一次在页面上选择了一些选项。现在,onItemSelected´ is called with the previous options and the spinners
firstSpinner.setSelection(0);`被先前选择的选项覆盖。
如何禁用之前的通话?
答案 0 :(得分:0)
尝试在onResume中运行你的函数。 当你滑动布局时,oncreate并不总是运行。
@Override
public void onResume() {
super.onResume();
// your function
}