Android: 在类之间传递参数

7

当点击时,class1会调用涉及class2的操作。我需要将一些参数/对象从class1传递给class2。我只知道标准方法,并没有传递参数的选项。

// launch the full article
Intent i = new Intent(this, Class2.class);

startActivity(i);
1个回答

14
你可以使用 Intent.putExtra (它使用 Bundle) 来传递额外的数据。
Intent i = new Intent(this, Class2.class);
i.putExtra("foo", 5.0f);
i.putExtra("bar", "baz");
startActivity(i);

然后一旦您进入新的Activity

Bundle extras = getIntent().getExtras(); 
if(extras !=null)
{
 float foo = extras.getFloat("foo");
 String bar = extras.getString("bar");
}

这允许您将基本数据传递给Activities。但是,如果要传递任意对象,则可能需要更多的工作。


1
这意味着只能传递简单类型(int、String、double),而不能传递类?甚至 BigMap 也不能传递? - Yang
你也可以传递可序列化和“parcelable”对象。我会查看一下如何更轻松地传递对象。其中一个考虑因素是在启动活动之前,在活动类上创建一个静态字段,您可以将该字段设置为对象的引用。 - Joshua Rodgers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接