为了账号安全,请及时绑定邮箱和手机立即绑定

使用接口通过两个活动传递数据

使用接口通过两个活动传递数据

慕妹3146593 2022-12-28 10:47:43
我必须将大量数据从“活动 1”传递到“活动 2”。这些数据被浓缩在一个 POJO 上,它本身有很多子类。所以,我想我需要通过一个接口传递这些数据,这是因为我需要使用以前的数据来调用 Web 服务。但是在到达网络服务的那一刻,数据是空的。实际上这是我的代码,但不起作用:public class FirstActivity extends AppCompatActivity {  protected void onCreate(Bundle savedInstanceState) {      ....  }  @Override  public void onClick(View v) {    switch (v.getId()) {        case R.id.continue_button:            continueToNewScreen();            break;    }  }  private void continueToNewScreen() {    if (infoResult != null && infoResult.size() > 0) {        eventsListener = new SecondActivity();        eventsListener.callback(myObjectToSend);        //send data to the next activity and start it.        Intent intent = new Intent(FirstActivity.this, SecondActivity.class);        startActivity(intent);    }  }}public class SecondActivity extends AppCompatActivity implements EventsListener {      protected void onCreate(Bundle savedInstanceState) {          configurateView();          manageEvent();      }    @Override    public void callback(InfoEvent event) {        Log.d("callback", "callback: ");        //here the object is informed        infoEvent = event;    }  private void manageEvent() {    //call web service with the info from the last activity    //here the object is null  }} 
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

您需要使用意图 putExtra()方法和Serializable/或Parcelable以便将一些数据从一个活动发送到另一个活动。实际上,在您的情况下,您必须让您的myObjectToSend类实现SerializableParcelable然后在putExtra()方法的帮助下传递它。

在第一个活动中:

intent.putExtra("KEY", myObjectToSend);

KEY可以是在 SecondActivity 中获取此对象的常量。

在 SecondActivityonCreate()方法中:

if (savedInstanceState == null) {

    Bundle extras = getIntent().getExtras();

    if(extras == null) {

        yourObjectToReceive = null;

    } else {

        yourObjectToReceive = (YourObjectToReceiveClass) extras.getSerializable("KEY");

    }

} else {

    yourObjectToReceive = (YourObjectToReceiveClass)savedInstanceState.getSerializable("KEY");

}


查看完整回答
反对 回复 2022-12-28
  • 1 回答
  • 0 关注
  • 66 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信