Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 设置不同活动的活动变量_Android - Fatal编程技术网

Android 设置不同活动的活动变量

Android 设置不同活动的活动变量,android,Android,我在我的主要活动中有一些主要变量,一旦用户登录,我就从internet检索它们的值。之后,有多个活动可以更改数据库中的这些值,但在用户注销/登录之前,这不会反映在当前加载的值中。(从internet检索数据的过程) 直接从活动2中更新主活动中的这些值而不注销/登录的最佳方法是什么 有没有一种方法可以设置这些变量,而无需做出意图并将新值放入额外的包中?(我需要在不返回“活动”的情况下更改值)您可以尝试将变量作为静态成员放入自定义的应用程序类中,然后通过应用程序.xyzStaticMember()从

我在我的主要活动中有一些主要变量,一旦用户登录,我就从internet检索它们的值。之后,有多个活动可以更改数据库中的这些值,但在用户注销/登录之前,这不会反映在当前加载的值中。(从internet检索数据的过程)

直接从活动2中更新主活动中的这些值而不注销/登录的最佳方法是什么


有没有一种方法可以设置这些变量,而无需做出意图并将新值放入额外的包中?(我需要在不返回“活动”的情况下更改值)

您可以尝试将变量作为静态成员放入自定义的
应用程序
类中,然后通过
应用程序.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;
    }
}

您可以使用
SharedReference
将值传递到Intent捆绑包中,然后启动TactivityForresult。获得“活动结果”回调后,如果值已更改,则可以进行更新。谢谢如何更改某个变量值,使用相同的键放置新值?这会删除旧值吗?@Nikola,很抱歉,我没有得到你的答案,startingactivityforresult是否不会将用户界面移动到主活动?我需要让他继续他的活动,只是改变价值。汉克斯,我会试试这个。我想这是适用的。
<application android:name="com.example.MyTestApp" 
/* ...more stuffs */ />