如何恢复上次停止的活动?

时间:2015-12-29 07:06:39

标签: java android

这是我拥有的所有代码。我是Android的新手。我只想恢复以前离开的活动。如你所见,我的应用程序是一个简单的计数器,当你点击按钮时,textview显示数字增加。我希望例如计数到10然后从应用程序退出然后当我再次启动活动时,希望继续在这种情况下我离开了10点。请帮助。

public class MainActivity extends AppCompatActivity {

    int counter=0;
    TextView tv1;
    Button button1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv1=(TextView)findViewById(R.id.textView);
        button1=(Button)findViewById(R.id.button);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                counter++;
                tv1.setText("" + counter);
            }
        });

3 个答案:

答案 0 :(得分:1)

查找有关SharedPreferences

的教程

您需要将数据放入覆盖onPause()并在onResume()中阅读。如果您不熟悉那些,请阅读活动生命周期。

答案 1 :(得分:0)

我希望这段代码可以帮到你..

SharedPreferences myCount=null;   

@Override
    protected void onPause(){
    super.onPause()

     myCount=getSharedPreferences("countStore", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = myCount.edit();
    String cText=tv1.getText().toString();
    editor.putStringSet("count",cText);
     editor.commit();

    }

    @Override
    protected void onResume(){
      super.onResume();
    myCount=getSharedPreferences("countStore", Context.MODE_PRIVATE);
      if(myCount != null){
        String text = myCount.getString("count", null);

         if(text !=null){
         tv1.setText(text);
         }
       }

    }

答案 2 :(得分:0)

@Override
public void onPause(){
    super.onPause();
    SharedPreferences settings = getSharedPreferences("mySettings", 0);
    SharedPreferences.Editor editor = settings.edit();
    editor.putInt("myCounter", counter);
    editor.commit();
}

@Override
public void onResume(){
    super.onResume();
    SharedPreferences settings = getSharedPreferences("mySettings", 0);
    counter = settings.getInt("myCounter", 0);
    tv1.setText(counter+"");
}