系列文章:
Activity的4种启动模式及使用场合|SquirrelNote
Android中Activity之间的数据传递|SquirrelNote
Android中启动Activity活动的另一种写法|SquirrelNote
基类Activity|SquirrelNote
平时我们启动另一个Activity,并传递数据,如下代码:
Intent intent=new Intent(AActivity.this,BActivity.class);
intent.putExtra("param1","data1");
intent.putExtra("param2","data2");
startActivity(intent);
但是在项目开发中,会有对接问题的出现。比如BActivity并不是由你开发的,但你负责的部分需要有启动BActivity这个功能,而你却不知道启动这个活动需要传递哪些数据。
如下代码解决:
public class BActivity extends BaseActivity{
public static void actionStart(Context context,String data1,String data2){
Intent intent=new Intent(AActivity.this,BActivity.class);
intent.putExtra("param1",data`);
intent.putExtra("param2",data2);
context.startActivity(intent);
}
}
在BActivity中添加actionStart()方法,BActivity 中需要的数据都是通过actionStart()方法的参数传递过来的,然后把它存储到Intent中,最后调用startActivity()方法启动BActivity。
好处是可以非常清晰地知道启动BActivity需要传递哪些数据。
只需要一行代码就可以启动BActivity ,在AActivity中:
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
SecondActivity.actionStart(AActivity.this,"data1","data2");
}
});
以上是根据我的一些理解,做的总结分享,旨在抛砖引玉,希望有更多的志同道合的朋友一起讨论学习,共同进步!
网友评论