这个示例同时使用了Activity间传递数据和SharedPreferences储存数据。
主要是一个逻辑的实现,下面是我整理的示例实现的流程:
第一步:主界面RedirectEnter实现跳转:
Intent intent = new Intent(RedirectEnter.this, RedirectMain.class);
startActivity(intent);
第二步:跳转到RedirectMain进行判定,SharedPreferences中有数据停留在RedirectMain并显示存储的数据,否则跳转到RedirectGetter。
if (!loadPrefs()) {
Intent intent = new Intent(this, RedirectGetter.class);
startActivityForResult(intent, INIT_TEXT_REQUEST);
}
private final boolean loadPrefs() {
SharedPreferences preferences = getSharedPreferences("RedirectData", 0);
mTextPref = preferences.getString("text", null);
if (mTextPref != null) {
TextView text = (TextView)findViewById(R.id.text);
text.setText(mTextPref);
return true;
}
return false;
}
第三步:如果跳转到了RedirectGetter,获取数据并返回到RedirectMain
SharedPreferences preferences = getSharedPreferences("RedirectData", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("text", mText.getText().toString());
if (editor.commit()) {
setResult(RESULT_OK);
}
finish();