Android - 子活动在onDestroy上更新数据库,在onResume上读取父读取

时间:2012-03-12 18:28:00

标签: android database android-activity oncreate onresume

我有2个活动A-> B。 A是父活动,B类似于“设置”。在B中,用户做出一些更新应用程序数据库的选择。 A必须读取数据库以根据该设置一些文本视图。

我认为可行的是:在B中,用户设置他的选择(使用一些切换按钮),在onDestroy功能上读取按钮的状态并更新数据库(我没有“提交更改按钮” “,所以我使用onDestroy)。然后在A的onResume函数上,我调用读取db的例程并更新字段。

问题是A中的变化不可见。但如果我再次转到B并返回A而没有任何新的更改,则更改是可见且正确的。

那有什么不对,应该做什么?我可以在A和B之间使用虚拟活动,这可能有用,但我不知道这是否是好的实现..提前谢谢!

2 个答案:

答案 0 :(得分:1)

尝试代替onDestroy()方法,例如onPause()onStop()方法。看看这个:

enter image description here

答案 1 :(得分:1)

如果您不想实施提交按钮,最好在onPause()而不是onDestroy()更新数据库。

@Override
    protected void onPause() {
        super.onPause();    
            if (isFinishing()) {
                //Database updates here
            }
        }
    }