2016-06-13 40 views
-2

我的主要活动中有一些主要变量,我在用户登录后从互联网上检索它们的值。之后,有多个活动可以更改数据库中的这些值, t反映当前加载的值,直到用户注销/进入。 (我从互联网检索数据的过程)设置来自不同活动的活动变量

什么是直接从活动2更新主活动中的这些值而不登出/进入的最佳方式?

有没有一种方法来设置这些变量而无需制定意图并将新值放入额外的捆绑包中? (我需要更改数值而不返回活动)

+3

您可以使用'SharedPreference' –

+0

您可以将值传递给Intent包和startActivityForResult。一旦获得活动结果回调,您可以更新该值是否已更改为 – Nikola

+0

。谢谢。我怎样才能改变一个特定的变量值,把新的值与相同的密钥?是否会删除旧值? –

回答

1

您也许可以尝试将自定义Application类中的变量作为静态成员放置,然后通过Application.xyzStaticMember()从任意位置访问它们。这里有一个例子:

public class MyTestApp extends Application { 
    private static List<Int> testList; 
    public static void setList(List<Int> l) { 
     testList = l; 
    } 
    public static List<Int> getList() { 
     return testList; 
    } 
} 

然后访问成员:MyTestApp.setList(null);MyTestApp.getList();。噢,别忘了使用AndroidManifest.xml文件中的课程!

<application android:name="com.example.MyTestApp" 
/* ...more stuffs */ /> 
+0

谢谢,我会试试这个。它会适用我猜。 –