我有2项活动。活动A和活动B.两者都是通过意图互相呼叫。活动A调用活动B.活动B访问数据库并通过putExtra()和getExtra()将其发送回活动A.
现在,我的活动A声明为 android:launchMode =“singleTask”
当我回到活动A时,我希望我的活动A能够自动更新或刷新。但令我不知道我在调试中理解的是,如果我将一个活动声明为launchMode =“singleTask”,那么它只会将屏幕从堆栈中带到顶部。它实际上并没有进入代码内部
我理解的概念是否正确?
我看到的解决方案是有一个刷新按钮,点击该按钮访问代码和更新屏幕。但我不想这样做。你认为还有其他选择吗?我不想改变launchMode =“singleTask”
先谢谢。
答案 0 :(得分:0)
无论哪个launchMode,当您从Activity B切换到Activity A时,都必须调用onResume()方法。您可以将刷新代码放在那里以使您的活动更新。
答案 1 :(得分:0)
尝试startActivityForResult(intent);
,当您完成B setResult(RESULT_OK);
和finish();
B活动,并在A onActivityResult(int,int,intent);
中捕获结果代码,如果它是RESULT_OK更新您的A
答案 2 :(得分:0)
将刷新部分放在onResume方法中。一旦活动B完成,你的onResume方法将在活动A中被调用。