2016-10-21 4 views
0
Activity activity = new Activity(String var1, String var2); 
startActivity(new Intent(mContext, activity.getClass()); 
+1

http://stackoverflow.com/questions/9137953/why-i-cannot-pass-parameters-to-android-activity-constructor は、あなたが新しい 'とアクティビティインスタンスを作成することはありません。このリンク – Godwin

+0

を参照してください。 '。これは、Androidランタイムシステムの唯一の責任です。それにもかかわらず、正しく初期化されていないActivityインスタンスが生成されます。 – Henry

答えて

1

アクティビティやフラグメントはAndroid自体で初期化する必要があるため、アプリのLauchアクティビティにどのように引数を渡すことになっていますか?これは、アクティビティとフラグメントの両方にデフォルトの引数なしコンストラクタしか持たないようにする理由です。引数をアクティビティに適切に渡す前に、引数を適切に渡す方法としてこれを使用する場合は、次のパターンを使用できます。

public class MyActivity extends AppCompatActivity { 
    public static Intent newIntent(Context context, String arg1, String arg2) { 
     Intent intent = new Intent(context, MyActivity.class) 

     intent.putExtra("extra_arg1", arg1); 
     intent.putExtra("extra_arg2", arg2); 


     return intent; 


    } 

} 
関連する問題