在活动中向外提供启动该活动的方法,这样如果想要启动某个活动只要调用该活动的启动方法即可。
public class NewActivity extends BaseActivity {
//启动该活动
public static void actionStart(Context context, String data1, String data2) {
Intent intent = new Intent(context, NewActivity.class);
intent.putExtra("param1", data1);
intent.putExtra("param2", data2);
context.startActivity(intent);
}
…
}
我们在NewActivity中添加了一个actionStart()
方法,在这个方法中完成了Intent的构建,另外NewActivity中需要的数据也是通过actionStart()
方法的参数传递过来的,然后把它们存储到Intent中,最后调用startActivity()
方法启动NewActivity 。
这样写的好处就是一目了然,NewActivity所需要的数据全部都在方法参数中体现出来了,这样即使不用阅读NewActivity中的代码,或者询问负责编写NewActivity的同事,也可以非常清晰地知道启动NewActivity 需要传递哪些数据。另外,这样写还简化了启动活动的代码,现在只需要一行代码就可以启动NewActivity ,如下所示:
NewActivity.actionStart(context, "data1", "data2");