很长一段时间以来,我都遇到过将变量从一个活动传递给另一个活动的麻烦,而且我通常必须解决一些相当丑陋的静态类黑客才能使其工作。将活动意图的参考传递给
一般来说,我沿着一个静态方法的行来说明一下,我用Activity的类型以及Activity所需的变量来调用它。这些被存储在一个静态变量中,并在所述活动的构造函数中被检索。
就像我说的,挺丑的。并没有像“myActivity.StartActivity(新活动);”这样的东西。所有StartActivity的重载都采用Intent或typeof(MyOtherActivity)。
所以我的问题是,我完全误解了活动的概念,还是我简单地错过了一个完全明显的方法来传递参数给他们?
@编辑:我想传递一个对象的实际引用,而不是简单的对象的副本的原因是因为我试图从覆盖的活动传递一个视图模型,到新的活动。当然,对这个视图模型所做的任何更改都应该反映在父活动上,这只有在两个活动的视图模型指向相同的实例时才有可能。
我正在使用Xamarin.Android编写应用程序,但C#和Java之间的代码几乎完全相同,所以在这两种语言中的答案都很好。
可能的重复http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-in-android – dsharew
部分属实。您提供的链接上的答案解答了如何将基本值类型(如整数和字符串)移动到单独的Activity,但不知道如何传递实际的引用对象,例如我自己的自定义类型的对象。 – Falgantil
为你搜索它。 http://stackoverflow.com/questions/2736389/how-to-pass-object-from-one-activity-to-another-in-android – dsharew