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 に答える