Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 微调器在选择项后不更新UI和内部变量_Java_Android_Android Spinner - Fatal编程技术网

Java 微调器在选择项后不更新UI和内部变量

Java 微调器在选择项后不更新UI和内部变量,java,android,android-spinner,Java,Android,Android Spinner,我已经初始化了一个简单的微调器,如: //Spinner as a instance varialbe monthSp = getActivity().findViewById(R.id.monthspinner); //my data List<String> month = new ArrayList<>(); for(Month m:Month.values()){

我已经初始化了一个简单的微调器,如:

        //Spinner as a instance varialbe
        monthSp = getActivity().findViewById(R.id.monthspinner);

        //my data
        List<String> month = new ArrayList<>();
        for(Month m:Month.values()){
            month.add(m.getName());
        }
        final ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(),R.layout.spinner,month);
        monthSp.setAdapter(adapter);


        //initial selection works fine
        monthSp.setSelection(visibleMonth-1);

//作为实例变量的微调器
monthSp=getActivity().findviewbyd(R.id.monthpinner);
//我的数据
列表月份=新建ArrayList();
对于(月份m:Month.values()){
month.add(m.getName());
}
最终ArrayAdapter=新的ArrayAdapter(getActivity(),R.layout.spinner,月);
安装适配器(适配器);
//初选很好
选举月(访问月-1);
然后我切换片段,当我回来时,我更新
visibleMonth
变量,并再次设置更新的选择。
getSelectedItem()
将返回正确且更新的项目,但是微调器根本不显示任何项目

调试后,我注意到一些位置变量的状态不正确:

NextSelectedPosition()
:具有更新的正确值

OldSelectedPosition()
:具有旧的正确值

SelectedPosition()
:具有旧的和错误的值(未从下一个SelectedPosition获取更新的值)

那么这里到底发生了什么?我如何解决我的问题?还有为什么
getSelectedItem()
甚至不返回iternal
SelectedPosition()