1

I have a list view activity which opens different activities attached to its list items.Each activity has multiple spinners and a submit button which on pressing gives a result in text View of the respective activity.Then on back pressing we again go the List View Activity and open some other activity by clicking one of its list items. Now when i go back to the previous activity i opened before where i got result in text View,it simply wipes out the data and starts again.All the spinner states and text view results are wiped out.

I want to resume every activity where i left before.I have heard about activity lifecycle but dont know which method to put where. Please Help

As asked this is my code

public class CannonsActivity extends AppCompatActivity {


      @Override
       protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cannon_spinner_numbers);

sbmt=(Button)findViewById(R.id.submit);
tx=(TextView)findViewById(R.id.upgradeResult);
        sp1=(Spinner)findViewById(R.id.spinner);
        sp2=(Spinner)findViewById(R.id.spinner1);
          sp3=(Spinner)findViewById(R.id.spinner2);
          sp4=(Spinner)findViewById(R.id.spinner3);
          sp5=(Spinner)findViewById(R.id.spinner4);
          sp6=(Spinner)findViewById(R.id.spinner5);
          sp7=(Spinner)findViewById(R.id.spinner6);
        SpinnerAdapter adapter=new SpinnerAdapter(this,levels,images);
sp1.setAdapter(adapter);
        sp2.setAdapter(adapter);
          sp3.setAdapter(adapter);
          sp4.setAdapter(adapter);
          sp5.setAdapter(adapter);
          sp6.setAdapter(adapter);
          sp7.setAdapter(adapter);
         final Bundle bundle = getIntent().getExtras();




          if (bundle.getString("classFrom").equals(TownHallNineActivity.class.toString())) {


              sp6.setVisibility(View.GONE);
              sp7.setVisibility(View.GONE);

          }
          if (bundle.getString("classFrom").equals(TownHallTenActivity.class.toString())) {


              sp7.setVisibility(View.GONE);

          }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++??



          if (bundle.getString("classFrom").equals(TownHallTenActivity.class.toString())) {

              cannonLevelFourteen=0;

          }
           if(bundle.getString("classFrom").equals(TownHallNineActivity.class.toString())){

              cannonLevelFourteen=0;
              cannonLevelThirteen=0;
              cannonLevelTwelve=0;

          }
          if(bundle.getString("classFrom").equals(TownHallElevenActivity.class.toString())){


          }
  //++++++++++++++++++++++++++++++++++++++++++++//

//Spinner 1

        sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                SharedPreferences sharedPreferences = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedPreferences.edit();



                switch (position){


                    case 0:


                            sp1CannonUpgradeCost = (cannonLevelTwo + cannonLevelThree + cannonLevelFour + cannonLevelFive +
                                    cannonLevelSix + cannonLevelSeven + cannonLevelEight + cannonLevelNine + cannonLevelTen +
                                    cannonLevelEleven + cannonLevelTwelve + cannonLevelThirteen + cannonLevelFourteen);

                            editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                            editor.apply();


                        break;
                    case 1:


                        sp1CannonUpgradeCost= (cannonLevelThree+cannonLevelFour+cannonLevelFive+
                                cannonLevelSix+cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);

                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 2:

                        sp1CannonUpgradeCost= (cannonLevelFour+cannonLevelFive+
                                cannonLevelSix+cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();

                        break;


                    case 3:

                        sp1CannonUpgradeCost= (cannonLevelFive+
                                cannonLevelSix+cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen)+cannonLevelFourteen;
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 4:

                        sp1CannonUpgradeCost= (
                                cannonLevelSix+cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;


                    case 5:

                        sp1CannonUpgradeCost= (cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 6:

                        sp1CannonUpgradeCost= (cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 7:


                        sp1CannonUpgradeCost= (cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 8:


                        sp1CannonUpgradeCost= (cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();

                        break;

                    case 9:

                        sp1CannonUpgradeCost= (
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();

                        break;

                    case 10:
                        sp1CannonUpgradeCost= (cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 11:
                        sp1CannonUpgradeCost= (cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 12:

                        sp1CannonUpgradeCost= (cannonLevelFourteen);
                        editor.putInt("sp1_cannon", sp1CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 13:


                        sp1CannonUpgradeCost = (0);
                        editor.putInt("sp1_cannon",sp1CannonUpgradeCost);
                        editor.apply();
                        break;


                }

            }

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

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

                SharedPreferences sharedPreferences = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedPreferences.edit();
                switch (position){
                    case 0:


                        sp2CannonUpgradeCost = (cannonLevelTwo + cannonLevelThree + cannonLevelFour + cannonLevelFive +
                                cannonLevelSix + cannonLevelSeven + cannonLevelEight + cannonLevelNine + cannonLevelTen +
                                cannonLevelEleven + cannonLevelTwelve + cannonLevelThirteen + cannonLevelFourteen);

                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();


                        break;
                    case 1:


                        sp2CannonUpgradeCost= (cannonLevelThree+cannonLevelFour+cannonLevelFive+
                                cannonLevelSix+cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);

                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 2:

                        sp2CannonUpgradeCost= (cannonLevelFour+cannonLevelFive+
                                cannonLevelSix+cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();

                        break;


                    case 3:

                        sp2CannonUpgradeCost= (cannonLevelFive+
                                cannonLevelSix+cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen)+cannonLevelFourteen;
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 4:

                        sp2CannonUpgradeCost= (
                                cannonLevelSix+cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                        cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;


                    case 5:

                        sp2CannonUpgradeCost= (cannonLevelSeven+cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 6:

                        sp2CannonUpgradeCost= (cannonLevelEight+cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 7:


                        sp2CannonUpgradeCost= (cannonLevelNine+cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 8:


                        sp2CannonUpgradeCost= (cannonLevelTen+
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();

                        break;

                    case 9:

                        sp2CannonUpgradeCost= (
                                cannonLevelEleven+cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();

                        break;

                    case 10:
                        sp2CannonUpgradeCost= (cannonLevelTwelve+cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 11:
                        sp2CannonUpgradeCost= (cannonLevelThirteen+cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 12:

                        sp2CannonUpgradeCost= (cannonLevelFourteen);
                        editor.putInt("sp2_cannon", sp2CannonUpgradeCost);
                        editor.apply();
                        break;

                    case 13:


                        sp2CannonUpgradeCost = (0);
                        editor.putInt("sp2_cannon",sp2CannonUpgradeCost);
                        editor.apply();
                        break;



                }


            }





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

            }
        });

This is same for 4 more Spinners

And this is code at the end to display result

 sbmt.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {

                  SharedPreferences shrd = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
                  SharedPreferences.Editor editor = shrd.edit();
                  int sp1cannonUpgradeCostRequired = shrd.getInt("sp1_cannon", -1);
                  int sp2cannonUpgradeCostRequired = shrd.getInt("sp2_cannon", -1);
                  int sp3cannonUpgradeCostRequired = shrd.getInt("sp3_cannon", -1);
                  int sp4cannonUpgradeCostRequired = shrd.getInt("sp4_cannon", -1);
                  int sp5cannonUpgradeCostRequired = shrd.getInt("sp5_cannon", -1);
                  int sp6cannonUpgradeCostRequired = shrd.getInt("sp6_cannon", -1);
                  int sp7cannonUpgradeCostRequired = shrd.getInt("sp7_cannon", -1);





                  Bundle bundle = getIntent().getExtras();
                  if (bundle.getString("classFrom").equals(TownHallNineActivity.class.toString())) {

                      totalCannonTh8UpgradeCost=sp1cannonUpgradeCostRequired+sp2cannonUpgradeCostRequired+
                              sp3cannonUpgradeCostRequired+sp4cannonUpgradeCostRequired+sp5cannonUpgradeCostRequired
                      ;

                  }
                  if (bundle.getString("classFrom").equals(TownHallTenActivity.class.toString())) {

                      totalCannonTh8UpgradeCost=sp1cannonUpgradeCostRequired+sp2cannonUpgradeCostRequired+
                              sp3cannonUpgradeCostRequired+sp4cannonUpgradeCostRequired+sp5cannonUpgradeCostRequired+sp6cannonUpgradeCostRequired
                      ;

                  }
                  if (bundle.getString("classFrom").equals(TownHallElevenActivity.class.toString())) {

                      totalCannonTh8UpgradeCost=sp1cannonUpgradeCostRequired+sp2cannonUpgradeCostRequired+
                              sp3cannonUpgradeCostRequired+sp4cannonUpgradeCostRequired+sp5cannonUpgradeCostRequired+sp6cannonUpgradeCostRequired
                              +sp7cannonUpgradeCostRequired
                      ;

                  }

                  editor.putLong("CannonTh8FinalUpgradeCostRequired", totalCannonTh8UpgradeCost);

                  tx.setText(""+totalCannonTh8UpgradeCost);
                  Toast.makeText(CannonsActivity.this, "done", Toast.LENGTH_SHORT).show();

              }
          });
    }

0 Answers0