亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用接口通過兩個活動傳遞數據

使用接口通過兩個活動傳遞數據

慕妹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 關注
  • 83 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號