Sal*_*nna 5 android recreate android-activity
我看过这个问题,但没有得到好的答案,我的情况有点不同.我有2个活动A和B.从活动AI启动活动B但活动A必须保持打开,现在我登录活动BI后在共享首选项中保存一些数据,我需要活动A中的布局根据共享首选项值进行更改,因此登录后,活动A必须重新创建以应用更改,但仍应位于活动B之后.
所以我的问题是可以从Activity B重新创建活动A.
我不知道“活动 A 必须保持打开状态”到底是什么意思,所以您必须弄清楚该部分或给出更详细的解释。您的意思是活动 B 覆盖活动 A 吗?我假设是这样。
我建议您在 Activity A 中使用 3 个片段。一个片段用于初始布局,另一个片段用于新布局。然后另一个片段代替 Activity B,我将其称为 FragmentB。
在FragmentB创建Callback内部接口。
public interface Callbacks {
void onLoggedIn();
}
Run Code Online (Sandbox Code Playgroud)
然后让Activity A实现这个回调
public class ActivityA extends Activity implements FragmentB.Callbacks {
//rest of the activity...
@Override
public void onLoggedIn() {
getFragmentManager().beginTransaction()
.replace(R.id.container, new SecondFragment())
.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
显然,您可以为ActivityA、FragmentB、Callbacks和选择任何您喜欢onLOggedIn的名称SecondFragment。其中SecondFragment登录后包含布局的片段名称FragmentB。
| 归档时间: |
|
| 查看次数: |
3315 次 |
| 最近记录: |