Android重新创建片段onBackPressed

时间:2013-08-15 01:23:25

标签: android

我的应用中有两个活动和一个片段。第一个活动MainActivity用于保存片段。它包含ActionBarSherlock ActionBar和片段WFrag。当您按下按钮时,WFrag会打开第二个活动SettingsActivity。在SettingsActivity中,您可以选择影响WFrag行为的设置。当然,我希望onBackPressed()方法返回WFrag并使用用户的新设置更新它。我的问题是:你怎么做到这一点,当你从SettingsActivity返回(通过后退按钮)时,你重新创建(再次呼叫onCreate()WFrag

2 个答案:

答案 0 :(得分:1)

  1. 覆盖onBackPressed 或
  2. 在onStart / onResume
  3. 中添加更新

答案 1 :(得分:1)

首先,您必须覆盖SettingActivity的onBackPressed()。

第二,当您从MainActivity开始第二个活动,即SettingActivity时,您必须以这种方式清除以前的活动堆栈

Intent intent = new Intent(this, SettingActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);

同样适用于onBackPressed()方法中的SettingActivity,您必须以这种方式运行MainActivity

Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);

或者,如果您从按钮单击重定向到MainActivity,则可以使用上面的代码。