不清楚启动的活动需要传递那些数据

Posted 语风6649

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不清楚启动的活动需要传递那些数据相关的知识,希望对你有一定的参考价值。

在真正的项目开发中经常会有对接的问题出现。比如SecondActivity 并不是你开发的,但现在你负责的FirstActivity部分需要有启动SecondActivity这个功能,而你却不清楚启动这个活动需要传递哪些数据。

这时无非就有两种办法,一个是你自己去阅读B中的代码,二是询问负责编写B的同事。你会不会觉得很麻烦呢?其实只需要换一种写法,就可以轻松解决掉上面的窘境。

修改B中代码,如下所示:

 1 public class SecondActivity extends BaseActivity{
 2   ....
 3     public static void actionStart(Context context, String data1, String data2) {
 4 
 5          Intent intent = new Intent(context,SecondActivity.class); 
 6          intent.putExtra("param1".data1);
 7          intent.putExtra("param2".data1);
 8          context.startActivity(intent);
 9 
10     }
11    ....
12 }     

我们在SecondActivity中添加了一个actionStart()方法,在这个方法中完成了Intent的构建,另外所有的SecondActivity中需要的数据都是通过actionStart()方法的参数传递过来的,然后把它们存储到Intent中,最后调用startActivity()启动SecondActivity。这样做的好处在于,SecondActivity所需要的数据在方法参数中全部体现出来了,这样既不用阅读SecondActivity中的代码,也不用去询问负责编写SecondActivity的同事,你也可以非常清晰的知道启动SecondActivity需要传递哪些数据。

另外,这样写还简化了启动活动的代码,现在只需要一行代码就可以启动SecondActivity,如下所示:

button.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
         SecondActivity.actionStart(FirstActivity.this, "data1", "data2");
    }

});

 

以上是关于不清楚启动的活动需要传递那些数据的主要内容,如果未能解决你的问题,请参考以下文章

从另一个活动的活动中的片段传递数据

在 android studio kotlin 中将数据从活动传递到片段(不重复,这些方法不起作用)

如何从活动中传递回调到片段

通过另一个适配器访问一个适配器的数据

将接口从片段传递到kotlin中的活动

从片段返回主页活动而不启动新活动(主页)