我有2个活动A-> B。 A是父活动,B类似于“设置”。在B中,用户做出一些更新应用程序数据库的选择。 A必须读取数据库以根据该设置一些文本视图。
我认为可行的是:在B中,用户设置他的选择(使用一些切换按钮),在onDestroy功能上读取按钮的状态并更新数据库(我没有“提交更改按钮” “,所以我使用onDestroy)。然后在A的onResume函数上,我调用读取db的例程并更新字段。
问题是A中的变化不可见。但如果我再次转到B并返回A而没有任何新的更改,则更改是可见且正确的。
那有什么不对,应该做什么?我可以在A和B之间使用虚拟活动,这可能有用,但我不知道这是否是好的实现..提前谢谢!
答案 0 :(得分:1)
尝试代替onDestroy()
方法,例如onPause()
或onStop()
方法。看看这个:
答案 1 :(得分:1)
如果您不想实施提交按钮,最好在onPause()
而不是onDestroy()
更新数据库。
@Override
protected void onPause() {
super.onPause();
if (isFinishing()) {
//Database updates here
}
}
}