android中viewPager中的片段丢失价值

android中viewPager中的片段丢失价值,android,json,android-viewpager,Android,Json,Android Viewpager,我正在片段中使用viewPager。Viewpager包含5个 名为1)常规2)臭氧3)Myzone 4)Bizzone 5)密码的碎片。 所有的片段都从json中获得了价值,并且工作良好。 第一个片段(一般)处理4个不同的api,其中3个 是专门为三个不同的纺纱机和1是得到最终的 完整视图的值 现在的问题是,我通过viewPager交换视图,并到达最后一个 片段,当我看到第一个视图时,它失去了微调器的值 它们变成了空的 这是我用来设置视图中的值的代码 公共类ProfileGeneralSett

我正在片段中使用viewPager。Viewpager包含5个 名为1)常规2)臭氧3)Myzone 4)Bizzone 5)密码的碎片。 所有的片段都从json中获得了价值,并且工作良好。 第一个片段(一般)处理4个不同的api,其中3个 是专门为三个不同的纺纱机和1是得到最终的 完整视图的值

现在的问题是,我通过viewPager交换视图,并到达最后一个 片段,当我看到第一个视图时,它失去了微调器的值 它们变成了空的

这是我用来设置视图中的值的代码

公共类ProfileGeneralSetting扩展片段实现了MiFeelingBase、OnClickListener{

public Spinner spCountryName;
public Spinner spCityName;
public Spinner spTimeZone;
private RadioGroup rg1;
private RadioButton rbEnable, rbDisable;

public Button SettingSaveGeneral;


public EditText edGeneralFullname,edGeneralEmail,edGeneralFirstName,edGeneralLastName,edGeneralMobileNumber,edGeneralAddress1,
edGeneralAddress2,edtUser_Dob,edtEducationInstitude,edtDegree,edtGrade,edtStartYear,edtEndYear,edtStream;

public int mYear;
public int mMonth;
public int mDay;


ProgressDialog mProgressDialog;
ArrayList<Country> countryList = new ArrayList<Country>();
ArrayList<Country>cityList=new ArrayList<Country>();
ArrayList<Country>timeList=new ArrayList<Country>();
GeneralSettingData generalList = new GeneralSettingData();
private GeneralSettingAdapter adapter;
private GeneralSettingAdapter2 adapter2;
private GeneralSettingAdapter3 adapter3;
//private GeneralSettingAdapter4 adapter4;

Context context;

public ImageView Usercalender;
private static final int DATE_DIALOG_ID = 0;

private String strUserID;
private int index=0;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    View rootView = inflater.inflate(R.layout.profilesettinggeneral, container, false);



    rg1 = (RadioGroup)rootView.findViewById(R.id.rg1);
    spCountryName = (Spinner)rootView.findViewById(R.id.spCountryName);
    spCityName = (Spinner)rootView.findViewById(R.id.spCityName);
    spTimeZone = (Spinner)rootView.findViewById(R.id.spTimeZone);

    edGeneralFullname = (EditText)rootView.findViewById(R.id.edGeneralFullname);
    edGeneralEmail = (EditText)rootView.findViewById(R.id.edGeneralEmail); 
    edGeneralFirstName = (EditText)rootView.findViewById(R.id.edGeneralFirstName);
    edGeneralLastName = (EditText)rootView.findViewById(R.id.edGeneralLastName);
    edGeneralMobileNumber = (EditText)rootView.findViewById(R.id.edGeneralMobileNumber);
    edGeneralAddress1 = (EditText)rootView.findViewById(R.id.edGeneralAddress1);
    edGeneralAddress2 = (EditText)rootView.findViewById(R.id.edGeneralAddress2);
    edtUser_Dob = (EditText)rootView.findViewById(R.id.edtUser_Dob);
    edtEducationInstitude = (EditText)rootView.findViewById(R.id.edtEducationInstitude);
    edtDegree = (EditText)rootView.findViewById(R.id.edtDegree);
    edtGrade = (EditText)rootView.findViewById(R.id.edtGrade);
    edtStartYear = (EditText)rootView.findViewById(R.id.edtStartYear);
    edtEndYear = (EditText)rootView.findViewById(R.id.edtEndYear);
    edtStream = (EditText)rootView.findViewById(R.id.edtStream);
    Usercalender = (ImageView)rootView.findViewById(R.id.Usercalender);
    rbEnable = (RadioButton)rootView.findViewById(R.id.rbEnable);
    rbDisable = (RadioButton)rootView.findViewById(R.id.rbDisable);

    SettingSaveGeneral = (Button)rootView.findViewById(R.id.SettingSaveGeneral);

    SettingSaveGeneral.setOnClickListener(this);

    Usercalender.setOnClickListener(this);

    rbEnable.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Toast.makeText(getActivity(), "enabled", Toast.LENGTH_SHORT).show();

        }
    });

    rbDisable.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Toast.makeText(getActivity(), "disabled", Toast.LENGTH_SHORT).show();
        }
    });


    /*rg1.setOnCheckedChangeListener(new OnCheckedChangeListener(){

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // TODO Auto-generated method stub

            if(checkedId == R.id.rbEnable){

                Toast.makeText(context, "enabled", Toast.LENGTH_SHORT).show();
            }else if(checkedId == R.id.rbDisable){

                Toast.makeText(context, "disabled", Toast.LENGTH_SHORT).show();
            }

        }
    });*/

    final Calendar c = Calendar.getInstance();
    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH);
    mDay = c.get(Calendar.DAY_OF_MONTH);


    Usercalender.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            final Calendar c =  Calendar.getInstance();
            mYear = c.get(Calendar.YEAR);
            mMonth = c.get(Calendar.MONTH);
            mDay = c.get(Calendar.DAY_OF_MONTH);

            DatePickerDialog dpd = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener(){

                @Override
                public void onDateSet(DatePicker view, int year,
                        int monthOfYear, int dayOfMonth){

                    edtUser_Dob.setText(year + "-"+ (monthOfYear + 1) + "-" + dayOfMonth);
                }


            }, mYear, mMonth, mDay);
            dpd.show();



        }
    });


    //spCountryName.("Counrty");
    APIAccess.fetchData(ProfileGeneralSetting.this, getActivity(), getActivity());


    return rootView;

}




@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

     AppContoller.getInstance().pref=getActivity().getSharedPreferences(AppContoller.getInstance().PREF_NAME, 0);

        strUserID=AppContoller.getInstance().pref.getString(AppContoller.getInstance().USER_ID, "0");
        APIAccess.fetchData(ProfileGeneralSetting.this, getActivity(), getActivity());

        savedInstanceState

        /*rg1.setOnCheckedChangeListener(new OnCheckedChangeListener(){

            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                // TODO Auto-generated method stub

                if(checkedId == R.id.rbEnable){

                    Toast.makeText(context, "enabled", Toast.LENGTH_SHORT).show();
                }else if(checkedId == R.id.rbDisable){

                    Toast.makeText(context, "disabled", Toast.LENGTH_SHORT).show();
                }

            }
        });*/



}



@Override
public String httpPost() {
    // TODO Auto-generated method stub

    String response="";
    if(index==0)
    {
    response=OpenConnection.callUrl(StaticData.SABAKUCH_GENERAL_SETTING_COUNTRY);

    }else if(index==1)
    {
        response=OpenConnection.callUrl(StaticData.SABAKUCH_GENERAL_SETTING_CITY);


    }else if(index==2)
    {
        response=OpenConnection.callUrl(StaticData.SABAKUCH_GENERAL_SETTING_TIMEZONE);
    }

    else if(index==3)
    {

        response = OpenConnection.callUrl(StaticData.SABAKUCH_GENERAL_SETTING_GETDATA+strUserID);
    }

    //Log.d("RespoNCEEEEEEEEE", response);
    return response;
}

@Override
public String httpAfterPost(String str) {
    // TODO Auto-generated method stub

    if(str!=null)
    {
        if(index==0){

        countryList=SabaKuchParse.parseCountryData(str);

        if(countryList.size()>0)
        {
            adapter=new GeneralSettingAdapter(getActivity(), countryList);
            spCountryName.setAdapter(adapter);
            index=1;
            APIAccess.fetchData(ProfileGeneralSetting.this, getActivity(), getActivity());
        }

     }else if(index==1)
     {

         cityList=SabaKuchParse.parseCityData(str);

            if(cityList.size()>0)
            {
                adapter2=new GeneralSettingAdapter2(getActivity(), cityList);
                spCityName.setAdapter(adapter2);
                index=2;
                APIAccess.fetchData(ProfileGeneralSetting.this, getActivity(), getActivity());
            }

     }else if(index==2)
     {
         timeList = SabaKuchParse.parseTimeData(str);

         if(timeList.size()>0){

             adapter3 = new GeneralSettingAdapter3(getActivity(),timeList);

             spTimeZone.setAdapter(adapter3);

             index=3;
             APIAccess.fetchData(ProfileGeneralSetting.this, getActivity(), getActivity());

         }
     }

     else if(index==3)
     {
         generalList = SabaKuchParse.parseFullData(str);

    edGeneralFullname.setText(generalList.strFname);
    edGeneralEmail.setText(generalList.strEmail);
    String tt = generalList.strEmail;

    Log.d("helloooooooooooooooooooo", tt);
    edGeneralFirstName.setText(generalList.strFname);
    edGeneralLastName.setText(generalList.strlname);
    edGeneralMobileNumber.setText(generalList.strContact);
    edGeneralAddress1.setText(generalList.strAddress1);
    edGeneralAddress2.setText(generalList.strAddress2);
    edtUser_Dob.setText(generalList.strDob);
    edtEducationInstitude.setText(generalList.arr.get(0).strSchool);
    edtDegree.setText(generalList.arr.get(0).strDegree);
    edtGrade.setText(generalList.arr.get(0).strGrade);
    edtStartYear.setText(generalList.arr.get(0).strFrom_date);
    edtEndYear.setText(generalList.arr.get(0).strTo_date);
    edtStream.setText(generalList.arr.get(0).strField_study);


    String ss = generalList.strTime_zone;
    Log.d("jhakkasss", ss);

    for(int i=0;i<timeList.size();i++)
    {
    if( timeList.get(i).strTimezoneid.equalsIgnoreCase(generalList.strTime_zone))
        {
            spTimeZone.setSelection(i);
        }
    }


    for(int i=0;i<countryList.size();i++)
    {
        if( countryList.get(i).strCountryid.equalsIgnoreCase(generalList.strCountry_id))
        {
            spCountryName.setSelection(i);
        }

    }

    for(int i=0;i<cityList.size();i++)
    {
        if(cityList.get(i).strCityid.equalsIgnoreCase(generalList.strCity_id))
        {
            spCityName.setSelection(i);
        }
    }


     }else if(index==5){
     }

    }

    return null;
    }


@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

    switch (v.getId()) {
    case R.id.SettingSaveGeneral:

        index =5;

        APIAccess.fetchData(ProfileGeneralSetting.this, getActivity(), getActivity());
        break;

    default:
        break;
    }

}
}
公共微调器spCountryName;
公共微调器spCityName;
公共微调器时区;
私人放射组rg1;
专用单选按钮rbEnable,rbDisable;
公共按钮设置SaveGeneral;
公共编辑文本edGeneralFullname、edGeneralEmail、edGeneralFirstName、edGeneralLastName、edGeneralMobileNumber、edGeneralAddress1、,
EDGENERAAddress2、edtUser\U Dob、EDT教育机构、EDT学位、EDT等级、EDT开始时间、EDT结束时间、EDT流;
公共内耳;
公共卫生;
公共国际日;
进程对话框;
ArrayList countryList=新的ArrayList();
ArrayListcityList=新的ArrayList();
ArrayListtimeList=新的ArrayList();
GeneralSettingData generalList=新的GeneralSettingData();
专用通用设置适配器;
专用通用设置适配器2适配器2;
专用通用设置适配器3适配器3;
//专用通用设置适配器4适配器4;
语境;
公共图像视图用户日历;
私有静态最终整数日期对话框ID=0;
私有字符串strUserID;
私有整数指数=0;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
//TODO自动生成的方法存根
视图根视图=充气机。充气(R.layout.profilesettinggeneral,container,false);
rg1=(放射组)rootView.findviewbyd(R.id.rg1);
spCountryName=(微调器)rootView.findviewbyd(R.id.spCountryName);
spCityName=(微调器)rootView.findviewbyd(R.id.spCityName);
spTimeZone=(微调器)rootView.findviewbyd(R.id.spTimeZone);
edGeneralFullname=(EditText)rootView.findViewById(R.id.edGeneralFullname);
edGeneralEmail=(EditText)rootView.findViewById(R.id.edGeneralEmail);
edGeneralFirstName=(EditText)rootView.findViewById(R.id.edGeneralFirstName);
edGeneralLastName=(EditText)rootView.findViewById(R.id.edGeneralLastName);
edGeneralMobileNumber=(EditText)rootView.findViewById(R.id.edGeneralMobileNumber);
edGeneralAddress1=(EditText)rootView.findViewById(R.id.edGeneralAddress1);
edGeneralAddress2=(EditText)rootView.findViewById(R.id.edGeneralAddress2);
edtUser_Dob=(EditText)rootView.findviewbyd(R.id.edtUser_Dob);
edtEducationInstitude=(EditText)rootView.findViewById(R.id.edtEducationInstitude);
edtdegate=(EditText)rootView.findViewById(R.id.edtdegate);
edtGrade=(EditText)rootView.findViewById(R.id.edtGrade);
edtStartYear=(EditText)rootView.findViewById(R.id.edtStartYear);
edtEndYear=(EditText)rootView.findViewById(R.id.edtEndYear);
edtStream=(EditText)rootView.findViewById(R.id.edtStream);
Usercalender=(ImageView)rootView.findviewbyd(R.id.Usercalender);
rbEnable=(单选按钮)rootView.findviewbyd(R.id.rbEnable);
rbDisable=(单选按钮)rootView.findviewbyd(R.id.rbDisable);
SettingSaveGeneral=(按钮)rootView.findViewById(R.id.SettingSaveGeneral);
SettingSaveGeneral.setOnClickListener(此);
Usercalender.setOnClickListener(此);
rbEnable.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
Toast.makeText(getActivity(),“enabled”,Toast.LENGTH_SHORT.show();
}
});
rbDisable.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
Toast.makeText(getActivity(),“disabled”,Toast.LENGTH_SHORT.show();
}
});
/*rg1.setOnCheckedChangeListener(新的OnCheckedChangeListener(){
@凌驾
检查更改后的公共无效(RadioGroup组,int checkedId){
//TODO自动生成的方法存根
if(checkedId==R.id.rbEnable){
Toast.makeText(上下文“已启用”,Toast.LENGTH_SHORT.show();
}else if(checkedId==R.id.rbDisable){
Toast.makeText(上下文“禁用”,Toast.LENGTH_SHORT.show();
}
}
});*/
最终日历c=Calendar.getInstance();
mYear=c.get(日历年);
mMonth=c.get(日历月);
mDay=c.get(日历,月的第天);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
最终日历c=Calendar.getInstance();
mYear=c.get(日历年);
mMonth=c.get(日历月);
mDay=c.get(日历,月的第天);
DatePickerDialog dpd=new DatePickerDialog(getActivity(),new DatePickerDialog.OnDateSetListener()){
@凌驾
公共无效onDateSet(日期选择器视图,整数年,
int monthOfYear,int dayOfMonth){
edtUser_Dob.setText(年+“-”+(月+1)+“-”+月日);
}
},mYear,Ammonth,mDay);
dpd.show();
}
});
//spCountryName.(“国家”);
fetchData(ProfileGeneralSetting.this,getActivity(),getActivity());
返回rootView;
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
AppContoller.getInstance().pref=getActivity().GetSharedReferences(AppCo
public class ProfileSettingFragment extends android.support.v4.app.Fragment implements TabListener {

private ViewPager mPager;
private MyPageAdapter adapter;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
         View rootView = inflater.inflate(R.layout.profile_setting_fragment, container, false);

         mPager=(ViewPager)rootView.findViewById(R.id.pager);

            mPager.setOffscreenPageLimit(2);
            adapter=new MyPageAdapter(getChildFragmentManager());
            mPager.setAdapter(adapter);


            TabPageIndicator indicater=(TabPageIndicator)rootView.findViewById(R.id.indicator1);
            indicater.setViewPager(mPager);

            indicater.setOnPageChangeListener(new OnPageChangeListener() {

                @Override
                public void onPageSelected(int arg0) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrollStateChanged(int arg0) {
                    // TODO Auto-generated method stub

                }
            });

            /*mPager.setOnPageChangeListener(new OnPageChangeListener() {

                @Override
                public void onPageSelected(int position) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrollStateChanged(int arg0) {
                    // TODO Auto-generated method stub

                }
            });*/

            /*actionBar.addTab(actionBar.newTab().setText("Home").setTabListener(this));
            actionBar.addTab(actionBar.newTab().setText("MiZone").setTabListener(this));
            actionBar.addTab(actionBar.newTab().setText("Top Trending").setTabListener(this));
            actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);*/

            return rootView;
    }

    private class MyPageAdapter extends FragmentStatePagerAdapter
       {
            private List<android.support.v4.app.Fragment> fragments;

        public MyPageAdapter(FragmentManager fm) {
            super(fm);
            // TODO Auto-generated constructor stub
            this.fragments=new ArrayList<android.support.v4.app.Fragment>();
            fragments.add(new ProfileGeneralSetting());
            fragments.add(new ProfileOzoneSetting());
            fragments.add(new ProfileMyzoneSetting());
            fragments.add(new ProfileBizzoneSetting());
            fragments.add(new ProfilePasswordSetting());


        }

        @Override
        public android.support.v4.app.Fragment getItem(int arg0) {
            // TODO Auto-generated method stub
            return fragments.get(arg0);
        }

        @Override
        public CharSequence getPageTitle(int position) {
        // TODO Auto-generated method stub
             switch (position) {
                case 0:
                    return "General";
                case 1:
                    return "Ozone";
                case 2:
                    return "MyZone";
                case 3:
                    return "BizZone";
                case 4 :
                    return "Password Setting";
            }
             return null;
        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return fragments.size();
        }

       }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // TODO Auto-generated method stub
        mPager.setCurrentItem(tab.getPosition());

    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
        // TODO Auto-generated method stub

    }

}
@Override
public void onSavedInstanceState(Bundle outstate) {
    outState.putSerializable("countryList", (Serializable) countryList);  // if Country implements Serializable
    // or
    outState.putParcelable("countryList", (Parcelable) countryList);
    super.onSavedInstanceState(outState);
}
countryList = (ArrayList<Country>) savedInstanceState.getSerializable("countryList");
countryList = (ArrayList<Country>) savedInstanceState.getParcelableArrayList("countryList");
 @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroyView();

        index =0;

        APIAccess.fetchData(ProfileGeneralSetting.this, getActivity(), getActivity());
    }