Android 启动活动的最佳写法

常见写法

通常一个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版)》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值