Android活动会刷新流量

时间:2017-09-11 16:23:48

标签: android android-activity

我有一个活动A,它有一个打开B的按钮,它插入一条记录。然后,A可以刷新onActivityResult中的视图。这是正常的流程。

但是,B也可以接受分享意图来插入记录。如何知道何时从B完成此操作以刷新视图就像正常流程一样? (当然,我假设行为A已经在后台任务上运行)

当然,我可以使用A中的onResume检测更改,但我想知道它是否是正确的方法。 谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用onResume刷新活动A的视图。因为其他方法将使用broadcastReceiver和broadcastIntent,这会产生不必要的负载。

如果活动B中的数据已更改,则可以使用sharedPreference存储,然后在活动A的onResume中使用共享优先级并刷新视图

@Override
protected void onResume() {
    super.onResume();
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    boolean isChanged = sharedPreferences.getBoolean("isChanged",false);
    if(isChanged){
        //refresh your views
        //clear the shared prefernce
        SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit();
        editor.putBoolean("isChanged",false);
        editor.apply();
    }
}

请记住,您在加载数据时已在ActivityB中设置了该共享首选项

    SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(this).edit();
    editor.putBoolean("isChanged",true);
    editor.apply();