Android 切换片段时如何控制微调器项?

Android 切换片段时如何控制微调器项?,android,android-spinner,Android,Android Spinner,片段B有一个旋转器,它有三个项目。我想在将片段从A切换到B时显示微调器的第二项 我尝试使用singleton对象来控制它,但它不起作用 这是我的代码,任何帮助都将不胜感激 我的单例对象: 公共类SetForTabPages{ int forBloodSugarSpinner; public int getForBloodSugarSpinner() { return forBloodSugarSpinner; } public void setForBloodSugarSpinner

片段B有一个旋转器,它有三个项目。我想在将片段从A切换到B时显示微调器的第二项

我尝试使用singleton对象来控制它,但它不起作用

这是我的代码,任何帮助都将不胜感激

我的单例对象: 公共类SetForTabPages{

int forBloodSugarSpinner;

public int getForBloodSugarSpinner() {
    return forBloodSugarSpinner;
}

public void setForBloodSugarSpinner(int forBloodSugarSpinner) {
    this.forBloodSugarSpinner = forBloodSugarSpinner;
}

public static SetForTabPages setForTabPages=null;

public static SetForTabPages getTabPosition(){
    if (setForTabPages==null){
        setForTabPages=new SetForTabPages();
        return setForTabPages;
    }else {
        return setForTabPages;
    }
}
} 我的片段A关于开关片段函数:

    @Override
        public void onClick(View view) {
            int id = view.getId();
            if (id == R.id.imageDetectionSugar) {
              sendSpinnerNumber(1);//i save the value as 1.
            ((NavigationDrawerLayout)getActivity()).switchFragment(Evaluation.newInstance());
//and switch fragment to A
            }
    }
这是我的片段A:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
if (setForTabPages.getForBloodSugarSpinner() == 1) {//get the value 1.
            Toast.makeText(getActivity(),"Enter here succeed",Toast.LENGTH_SHORT).show();//i enter here succeed
            layoutForBloodPressure.setVisibility(View.GONE);//it's not working
            layoutForBloodSugar.setVisibility(View.VISIBLE);//it's not working
            layoutForBMI.setVisibility(View.GONE);//it's not working
            //may be i should put the code about adapter for item,byt i do not know how
            compareSpinner(view);
        }

        //get spinner value
        evaluationEnterItem.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
                Object item = adapterView.getItemAtPosition(position);
                spinnerItem = item.toString();
                compareSpinner(view);
                Log.d("name", spinnerItem);
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {

            }
        });


        return view;
    }
//if i just click spinner to switch , it's working here
private View compareSpinner(View view) {

        if (spinnerItem.equals(getResources().getString(R.string.bloodPressure))) {
            layoutForBloodPressure.setVisibility(View.VISIBLE);
            layoutForBloodSugar.setVisibility(View.GONE);
            layoutForBMI.setVisibility(View.GONE);
            return view;
        } else if (spinnerItem.equals(getResources().getString(R.string.bloodSugar))) {
            layoutForBloodPressure.setVisibility(View.GONE);
            layoutForBloodSugar.setVisibility(View.VISIBLE);
            layoutForBMI.setVisibility(View.GONE);
            return view;
        } else if (spinnerItem.equals(getResources().getString(R.string.bodyWeight))) {
            layoutForBloodPressure.setVisibility(View.GONE);
            layoutForBloodSugar.setVisibility(View.GONE);
            layoutForBMI.setVisibility(View.VISIBLE);
            return view;
        } else {
            layoutForBloodPressure.setVisibility(View.GONE);
            layoutForBloodSugar.setVisibility(View.GONE);
            layoutForBMI.setVisibility(View.GONE);
            return view;
        }
    }
@覆盖
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
如果(setForTabPages.getforbloodugarspinner()==1){//获取值1。
Toast.makeText(getActivity(),“在此处输入成功”,Toast.LENGTH_SHORT.show();//我在此处输入成功
血压布局。设置可见性(View.GONE);//它不工作
LayoutForBloodugar.setVisibility(View.VISIBLE);//它不工作
layoutForBMI.setVisibility(View.GONE);//它不工作
//可能是我应该把关于适配器的代码放在项目上,byt我不知道怎么做
比较内部(视图);
}
//获取微调器值
evaluationEnterItem.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共位置(适配器视图适配器视图视图视图视图内部位置长l){
对象项=adapterView.getItemAtPosition(位置);
spinnerItem=item.toString();
比较内部(视图);
Log.d(“名称”,喷丝头项目);
}
@凌驾
未选择公共无效(AdapterView AdapterView){
}
});
返回视图;
}
//如果我只是单击微调器切换,它在这里工作
私有视图比较内部(视图){
if(spinnerItem.equals(getResources().getString(R.string.bloodPressure))){
血压布局。设置可见性(View.VISIBLE);
布局为bloodugar.setVisibility(View.GONE);
布局bmi.setVisibility(View.GONE);
返回视图;
}else if(spinnerItem.equals(getResources().getString(R.string.Bloodugar))){
血压布局。设置可见性(视图。消失);
LayoutForBloodugar.setVisibility(View.VISIBLE);
布局bmi.setVisibility(View.GONE);
返回视图;
}else if(spinnerItem.equals(getResources().getString(R.string.bodyWeight))){
血压布局。设置可见性(视图。消失);
布局为bloodugar.setVisibility(View.GONE);
布局bmi.setVisibility(View.VISIBLE);
返回视图;
}否则{
血压布局。设置可见性(视图。消失);
布局为bloodugar.setVisibility(View.GONE);
布局bmi.setVisibility(View.GONE);
返回视图;
}
}