当我在活动中单击后退按钮同时将输入的数据保存在同一个片段中时,如何返回主片段?在下面的代码中,我将从第二个活动中调用它。
finish()
要从我的第一个活动回到片段,我正在调用 aaa | bbb | ccc |ddd | eee
--------------------------------------
100 | xxxx | 123 |yyy|2017
100 | yyyy | 345 |zzz|2017
200 | rrrr | 500 |qqq|2017
300 | uuuu | 200 |ttt|2017
200 | iiii | 500 |ooo|2017
并且它正常工作并保留数据。我希望这与从第二个活动回到片段一样工作。
答案 0 :(得分:0)
在转到下一个活动之前,您可以将数据存储在片段类
中的SharedPreferences中SharedPreferences preferences;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// handle arrow click here
if (item.getItemId() == android.R.id.home) {
if(fromString.equalsIgnoreCase("second")){
//finish();
preferences = getContext().getSharedPreferences("my_prefs", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("pause", false);
editor.apply();
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}else if(fromString.equalsIgnoreCase("first")){
finish(); // close this activity and return to preview activity (if there is any)
}
}
return super.onOptionsItemSelected(item);
}
并且在onCreate()方法中,您可以检索
之类的值@Override
public void onCreate(Bundle savedInstanceState) {
preferences = getContext().getSharedPreferences("my_prefs", 0);
boolean pause = preferences.getBoolean("pause", false);
}