关闭应用程序并重新打开继续阅读文本

时间:2015-06-13 21:32:45

标签: android textview onresume

这是一个简单的代码,在一个textview中有多个文本,

int stringIdList[] = {R.string.text1, R.string.text2, R.string.text3, R.string.text4};
    int stringListCounter = 0;
    TextView text1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       Button next = (Button) findViewById(R.id.next1);
        Button previous = (Button) findViewById(R.id.pre1);
        text1 = (TextView) findViewById(R.id.textView1);
        next.setOnClickListener(this);
        previous.setOnClickListener(this);

    @Override
    public void onClick(View v) {
          int id = v.getId();
          if(id == R.id.next1 && stringListCounter < stringIdList.length - 1) {
                stringListCounter++;

              } else if (id == R.id.pre1 && stringListCounter > 0) {
                stringListCounter--;
              }
              text1.setText(stringIdList[stringListCounter]);  
            }

我的问题:当我关闭应用程序并再次重新打开应用程序时,我想要继续关闭应用程序之前阅读的最后一个文本,但是当关闭并重​​新打开应用程序时首先开始显示文本。

1 个答案:

答案 0 :(得分:1)

U应该使用SharedPreference类来保存文本索引。

@Override
public void onPause() {
    super.onPause();

    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getActivity());
    pref.edit().putInt("stringListCounter", stringListCounter).commit();
}

@Override
public void onResume() {
    super.onResume();
    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getActivity());
    stringListCounter = pref.getInt("stringListCounter", 0);
}