您的位置:首页 > 移动开发 > Android开发

Android 启动活动的最佳写法

2017-09-16 10:41 281 查看

常见写法

通常一个activity(FirstActivity)显示启动另一个activity(SecondActivity)的写法如下,在第一个activity中:

Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("param1",data1);
intent.putExtra("param2",data2);
startActivity(intent);


若果是第三个activity也要显示启动第二个activity(SecondActivity),我们在在三个activity(ThreeActivtiy)中不假思索的写下如下代码:

Intent intent = new Intent(ThreeActivtiy.this,SecondActivity.class);
intent.putExtra("param1",data1);
intent.putExtra("param2",data2);
startActivity(intent);


试想一下,如果有三个甚至多个activity都要显示启动同一个activity,此时按照传统做法我们一直在做重复的代码编写。更为严重的是,如果启动的activity类代码量较大,并非自己编写,还需要花费大量时间阅读代码或者找写代码的人沟通。此时估计有小伙伴就要发牢骚了:“我就想显示启动个activity传个值为毛搞得这么麻烦,我可不想阅读别人写的一大堆乱七八糟的代码?“。别急,下面就是大招。

最佳写法

显示启动的activity中单独定义一个方法统一处理。

public static void actionStart(Context context,String data1,String data2){
Intent intent = new Intent(context,SecondActivity.class);
intent.putExtra("param1",data1);
intent.putExtra("param2",data2);
context.startActivity(intent);
}


然后在需要显示启动的activity中一行代码搞定:

button.setOnclickListener(new OnclickListener(){
@Override
public vooid onClick(View view){
SecondActivity.actionStart(FirstActivit.this,"data1","data2");
}
});
//在另一个需要显示启动的activity中
button.setOnclickListener(new OnclickListener(){
@Override
public vooid onClick(View view){
SecondActivity.actionStart(ThreeActivtiy.this,"data1","data2");
}
});


参考:郭霖《带一行代码(第2版)》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android