Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/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 屏幕旋转后,恢复碎片中的微调器位置_Java_Android_Android Fragments_Spinner_Screen Rotation - Fatal编程技术网

Java 屏幕旋转后,恢复碎片中的微调器位置

Java 屏幕旋转后,恢复碎片中的微调器位置,java,android,android-fragments,spinner,screen-rotation,Java,Android,Android Fragments,Spinner,Screen Rotation,正如我在标题中所写,我希望在屏幕旋转后恢复微调器中的选定位置。尝试将位置保存在bundle中,并在中旋转后从savedInstanceState获取位置 或 或 但没有人工作:-/ 加反射反射 public类AddRecipeFragment扩展片段实现ObservableScrollViewCallbacks{ 私有静态最终字符串SELECTED\u CATEGORY=“SELECTED\u CATEGORY”; 私有微调器分类微调器; @凌驾 创建视图上的公共视图(布局、充气机、视图组

正如我在标题中所写,我希望在屏幕旋转后恢复微调器中的选定位置。尝试将位置保存在bundle中,并在中旋转后从
savedInstanceState
获取位置

但没有人工作:-/

加反射反射
public类AddRecipeFragment扩展片段实现ObservableScrollViewCallbacks{
私有静态最终字符串SELECTED\u CATEGORY=“SELECTED\u CATEGORY”;
私有微调器分类微调器;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
返回充气机。充气(R.layout.fragment\u add\u配方,容器,假);
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态){
super.onViewCreated(视图,savedInstanceState);
categoriespinner=(微调器)view.findViewById(R.id.categories\u微调器);
ArrayAdapter=ArrayAdapter.createFromResource(getActivity(),R.array.categories,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
categoriesPinner.setAdapter(适配器);
如果(savedInstanceState!=null){
CategoriesPinner.setSelection(savedInstanceState.getInt(SELECTED_CATEGORY,0),true);
}
}
@凌驾
SaveInstanceState上的公共无效(束超出状态){
super.onSaveInstanceState(超出状态);
outState.putInt(SELECTED_CATEGORY,categoriespinner.getSelectedItemPosition());
}
}

我还尝试了
setSelection(position,false)
false

如果这一切都失败了,为什么不使用静态变量

private static int selectedPosition = 0;
以及选择微调器项时

categoriesSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        selectedPosition = position;
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
    }
});

如果所有这些都失败了,为什么不使用静态变量

private static int selectedPosition = 0;
以及选择微调器项时

categoriesSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        selectedPosition = position;
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
    }
});
categoriesSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        selectedPosition = position;
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
    }
});
categoriesSpinner.setSelection(selectedPosition);