0

我有

public abstract class SuperClassA extends Activity
{
   protected String s;

   public SuperClassA(String s)
   { this.s = s }

   ...etc...
}

现在我做

  startActivity(new Intent(this, SubClassA.class));

有没有办法在使用构造函数时调用活动?否则字段 s 不会被初始化。或者我真的必须用 putExtra 做这个吗?

4

1 回答 1

1

每个非抽象活动都必须有一个不带参数的公共默认构造函数。系统尝试调用这个构造函数来创建一个新的活动。在您的情况下,找不到此构造函数,您(应该)收到异常。

对于 Service、BroadcastReceiver、Fragments 等也是如此……

所以是的,您需要使用参数 Bundle 来传递 String 参数。

于 2013-01-16T13:28:46.973 回答