启动活动的更好方法

要启动一个活动,我们以前是这样

Intent it = new Intent(MainActivity.this,NormalActivity.class);
it.putExtra("key1","val1");
it.putExtra("key2","val2");
startActivity(it);Code language: JavaScript (javascript)

大家有没有想过,我们有可能并不是每个活动都是你添加的

这个时候 如果我想启动一个其他的活动,我们可能需要咨询那个活动的同事或者查看文档。

但是这样是不是很麻烦?

有什么解决办法呢?

我们能不能把启动活动交给另外一个同事呢?

也就是每个活动的创建者。就在这个活动里面添加一个方法,这个方法让其他人来调用,调用它来创建这个活动。

Intent it = new Intent(MainActivity.this,NormalActivity.class);
it.putExtra("site","www.foxdevelop.com");//在我们自己的活动上面创建别的活动
//需要我们知道别的活动需要上面数据 那么我们就要和另外一个活动的作者进行沟通
startActivity(it);Code language: JavaScript (javascript)

下面我们来试试,我们在其他活动中添加一个静态方法

//启动活动 的代码 交给这个活动的类里面完成
public static void actionStart(Context context, String site, int level)
{
    Intent it = new Intent(context,NormalActivity.class);
    it.putExtra("site",site);
    it.putExtra("level",level);
    context.startActivity(it);
}Code language: JavaScript (javascript)
NormalActivity.actionStart(MainActivity.this,"www.foxdevelop.com",12);Code language: CSS (css)
Next:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注