Android 共享首选项不适用于int变量

Android 共享首选项不适用于int变量,android,sharedpreferences,Android,Sharedpreferences,我试图使用共享首选项来存储整数值,但当应用程序处于关闭或旋转状态时,它会再次启动为零。 我想保存该变量值,即使我的应用程序被终止或关闭 我想保存名为alhamdulilahweek的变量,这是我的代码 public class FragTasbeeh extends Fragment { public static final String[] items={"Alhamdulilah","SubhanAllah","AllahuAkbar"}; ImageView ivI

我试图使用共享首选项来存储整数值,但当应用程序处于关闭或旋转状态时,它会再次启动为零。 我想保存该变量值,即使我的应用程序被终止或关闭 我想保存名为alhamdulilahweek的变量,这是我的代码

public class FragTasbeeh extends Fragment  {


    public static final String[] items={"Alhamdulilah","SubhanAllah","AllahuAkbar"};
    ImageView ivIcon;
    Context context;
       TextView tvItemName;
       TextView mview;
       TextView wview;
      Button add,reset;
        int counter=0;
int allahuakbarweek,allahuakbarmonth,subhanallahweek,subhanallahmonth,alhamdulilahweek,alhamdulilahmonth;
        int month;
        int count,alhamdulilahcount,subhanallahcount,allahuakbarcount;
    Time t=new Time(Time.getCurrentTimezone());
     SharedPreferences share;



      public static final String IMAGE_RESOURCE_ID = "iconResourceID";
      public static final String ITEM_NAME = "itemName";
      FragmentManager frg=getFragmentManager();
      Fragment fragment=null;

      public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View view=inflater.inflate(R.layout.tasbeeh,container, false);
        if(savedInstanceState==null)
        {
            alhamdulilahcount=0;
            alhamdulilahweek=0;
            alhamdulilahmonth=0;
        }
        else
        {

            savedInstanceState.putInt("alhamdulilahcount", alhamdulilahcount);
            savedInstanceState.putInt("alhamdulilahweek", alhamdulilahweek);
            savedInstanceState.putInt("alhamdulilahmonth", alhamdulilahmonth);
        }

        return view;

    }


    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onActivityCreated(savedInstanceState);
        share=getActivity().getSharedPreferences("key", 0);
  SharedPreferences.Editor editor= share.edit();
        add=(Button)getActivity().findViewById(R.id.button1);
        tvItemName=(TextView)getActivity().findViewById(R.id.textView1);
        wview=(TextView)getActivity().findViewById(R.id.textView2);
        mview=(TextView)getActivity().findViewById(R.id.textView3);

        Spinner dropdown = (Spinner)getActivity().findViewById(R.id.spin);

        ArrayAdapter<String> adapter = new ArrayAdapter<String> (this.getActivity(),R.layout.actionbar,R.id.spintext, items);
        dropdown.setAdapter(adapter);
        dropdown.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int position, long arg3) {
                // TODO Auto-generated method stub
                switch(position){

                case 0: 

                    tvItemName.setText(alhamdulilahcount+"");
                    mview.setText(alhamdulilahmonth+"");
                    wview.setText(alhamdulilahweek+"");
                alhamdulilahcount();
                break;
                case 1:
                    tvItemName.setText(subhanallahcount+"");
                    mview.setText(subhanallahmonth+"");
                    wview.setText(subhanallahweek+"");
                    subhanallahcount();
                    break;
                case 2:
                    tvItemName.setText(allahuakbarcount+"");
                    mview.setText(allahuakbarmonth+"");
                    wview.setText(allahuakbarweek+"");
                    allahuakbarcount();
                    break;
                    default:
                        break;
                }

            }

            public void allahuakbarcount() {
                // TODO Auto-generated method stub
                count=0;
                month=0;
                week=0;
                add = (Button)getActivity().findViewById(R.id.button1);
                reset = (Button)getActivity().findViewById(R.id.button2);
                reset.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        allahuakbarcount=0;
                        tvItemName.setText(allahuakbarcount+"");

                    }
                });
                add.setOnClickListener(new OnClickListener() {


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

                        allahuakbarcount++;
                week++;
                        month++;
                        allahuakbarweek++;
                        allahuakbarmonth++;
                        tvItemName.setText(allahuakbarcount+"");
                        mview.setText(allahuakbarmonth+"");
                        wview.setText(allahuakbarweek+"");

                    }
                });
            }

            public void subhanallahcount() {
                // TODO Auto-generated method stub

                count=0;
                add = (Button)getActivity().findViewById(R.id.button1);
                reset = (Button)getActivity().findViewById(R.id.button2);
                reset.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        subhanallahcount=0;
                        tvItemName.setText(subhanallahcount+"");

                    }
                });
                add.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        subhanallahcount++;
                        week=week+count;
                        month=month+count;
                        subhanallahweek++;
                        subhanallahmonth++;

                        tvItemName.setText(subhanallahcount+"");
                        mview.setText(subhanallahmonth+"");
                        wview.setText(subhanallahweek+"");



                    }
                });
            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });         }





    public  void alhamdulilahcount() {
        // TODO Auto-generated method stub
        alhamdulilahcount=0;
        add = (Button)getActivity().findViewById(R.id.button1);
        reset = (Button)getActivity().findViewById(R.id.button2);
        reset.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                alhamdulilahcount=0;
                tvItemName.setText(alhamdulilahcount+"");

            }
        });
        add.setOnClickListener(new OnClickListener() {

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


                alhamdulilahcount++;
                week++;
                month++;
                alhamdulilahweek++;
                alhamdulilahmonth++;
                SharedPreferences.Editor editor=share.edit();
                editor.putInt("value1", alhamdulilahweek);
                editor.commit();
                int count=share.getInt("value1", -1);
                tvItemName.setText(alhamdulilahcount+"");
                mview.setText(alhamdulilahmonth+"");
                wview.setText(count+"");


            }
        });

    }


    /* (non-Javadoc)
     * @see android.app.Fragment#onSaveInstanceState(android.os.Bundle)
     */
    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onSaveInstanceState(savedInstanceState);
        savedInstanceState.putInt("alhamdulilahcount", alhamdulilahcount);
        savedInstanceState.putInt("alhamdulilahweek", alhamdulilahweek);
        savedInstanceState.putInt("alhamdulilahmonth", alhamdulilahmonth);
    }







}

但这取决于alhamdulilahweek,它可能是inti到0,这就是为什么您的共享pref id 0在编辑共享prefno之前记录它,我不会再次将其初始化回零。检查代码