我有2个活动A->B。A是父活动,B就像"设置"。在B中,用户做出一些更新应用程序数据库的选择。A必须读取数据库以根据该设置一些textviews。

我认为这会起作用:在B中,用户设置他的选择(使用一些切换按钮)和ondestroy函数读取按钮的状态并更新db(我没有"提交更改按钮",所以我使用onDestroy)。然后在a的onResume函数上,我调用读取db并更新字段的例程。

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

那么什么是错的,应该做什么?我可以在A和B之间使用虚拟活动,这可能会起作用,但我不知道这是否是很好的实现。.先谢谢你!

有帮助吗?

解决方案

尝试而不是 onDestroy() 例如方法 onPause()onStop() 方法。看看这个:

enter image description here

其他提示

如果你不想实现一个提交按钮,你会更好地更新你的数据库 onPause() 而不是 onDestroy().

@Override
    protected void onPause() {
        super.onPause();    
            if (isFinishing()) {
                //Database updates here
            }
        }
    }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top