为什么我们没有使用构造函数将任何值传递给活动?

时间:2016-10-21 12:10:02

标签: android

Activity activity = new Activity(String var1, String var2);
startActivity(new Intent(mContext, activity.getClass());

1 个答案:

答案 0 :(得分:1)

因为活动和片段必须由android本身初始化,所以你应该如何传递参数,比如你的app的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;


     }

}