Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
如何在android中维护微调器选定状态_Android_Android Spinner - Fatal编程技术网

如何在android中维护微调器选定状态

如何在android中维护微调器选定状态,android,android-spinner,Android,Android Spinner,我只想在android中维护spinner selected状态。我有一个从webservice检索数据的活动A并弹出到spinner。从该活动中选择任何一个项目后,转到另一个活动B。返回活动A后,我需要在spinner上显示所选项目,而无需再次转到web调用 我的代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); spinner =

我只想在android中维护spinner selected状态。我有一个从webservice检索数据的活动A并弹出到spinner。从该活动中选择任何一个项目后,转到另一个活动B。返回活动A后,我需要在spinner上显示所选项目,而无需再次转到web调用

我的代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    spinner = (Spinner) findViewById(R.id.spinner);
if(spinnerFlag=1){
        spinner.setSelection(index);
    }
    else{
        //Web call for spinner data
    }
...    
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> parent,
                        View view, int arg2, long arg3) {

                    String seletcedProductName = parent.getSelectedItem()
                            .toString();
                    spinnerFlag=0;
                    index=arg2;


                }

                public void onNothingSelected(AdapterView<?> arg0) {

                }
            });
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
微调器=(微调器)findViewById(R.id.spinner);
if(喷丝头标志=1){
微调器。选择(索引);
}
否则{
//微调器数据的Web调用
}
...    
spinner.setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共无效项(AdapterView父项,
视图,整数arg2,长arg3){
字符串seletcedProductName=parent.getSelectedItem()
.toString();
喷丝头标志=0;
指数=arg2;
}
未选择公共无效(AdapterView arg0){
}
});

谢谢。

只要将索引保存在活动停止时的SharedReferences中,当您返回到该活动时检索它即可


您可以将微调器的选定索引保存在静态变量中,用-1初始化,然后在恢复时检查该变量的值,如果该变量不是-1,则用它设置微调器的选定索引

static int position=-1;



spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> parent,
                        View view, int arg2, long arg3) {

                    String seletcedProductName = parent.getSelectedItem()
                            .toString();
                    spinnerFlag=0;
                    index=arg2;
            position=arg2;  


                }

                public void onNothingSelected(AdapterView<?> arg0) {

                }
            });


    @Override
    protected void onResume() {
        super.onResume();

        if(position!=-){
        spinner.setSelection(index);

        }

}
static int position=-1;
spinner.setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共无效项(AdapterView父项,
视图,整数arg2,长arg3){
字符串seletcedProductName=parent.getSelectedItem()
.toString();
喷丝头标志=0;
指数=arg2;
位置=arg2;
}
未选择公共无效(AdapterView arg0){
}
});
@凌驾
受保护的void onResume(){
super.onResume();
如果(位置!=-){
微调器。选择(索引);
}
}

由于android处理垃圾收集的方式,这是不可靠的,您最好使用共享首选项或传递捆绑包