相当长一段时间以来,我一直有从一个 Activity 传递变量到另一个 Activity 的麻烦,通常我不得不采用一些相当丑陋的静态类 hack 来使其工作。一般来说,我会调用一个带有 Activity 类型的静态方法,以及 Activity 需要的变量。这些被存储在静态变量中,并在该 Activity 的构造函数中检索出来。就像我所说的,非常丑陋。而且没有 "myActivity.StartActivity(new Activity);" 这样的东西。所有 StartActivity 的重载都需要一个 Intent 或 typeof(MyOtherActivity)。
所以我的问题是,我是否完全误解了 Activity 的概念,还是我仅仅错过了一种完全明显的方式来传递参数?
@编辑:我想传递一个对象的实际引用,而不仅仅是对象的副本,原因是我正在尝试将 ViewModel 从上层 Activity 传递到新的 Activity。当然,对此 ViewModel 所做的任何更改,都应该反映在父 Activity 上,这只有在两个 Activity 的 ViewModel 指向同一实例时才可能实现。
我使用 Xamarin.Android 编写应用程序,但是 C# 和 Java 之间的代码几乎相同,因此这些语言中的答案都可以。
所以我的问题是,我是否完全误解了 Activity 的概念,还是我仅仅错过了一种完全明显的方式来传递参数?
@编辑:我想传递一个对象的实际引用,而不仅仅是对象的副本,原因是我正在尝试将 ViewModel 从上层 Activity 传递到新的 Activity。当然,对此 ViewModel 所做的任何更改,都应该反映在父 Activity 上,这只有在两个 Activity 的 ViewModel 指向同一实例时才可能实现。
我使用 Xamarin.Android 编写应用程序,但是 C# 和 Java 之间的代码几乎相同,因此这些语言中的答案都可以。