【问题标题】:Passing ArrayList<MyObject> Between multiple Activities在多个活动之间传递 ArrayList<MyObject>
【发布时间】:2012-11-23 05:00:12
【问题描述】:

我正在尝试在我的应用程序中的多个活动之间传递对象的 ArrayList。是否可以通过使用 setData() 方法的 Intent 来做到这一点?

【问题讨论】:

    标签: android android-intent arraylist


    【解决方案1】:

    是的,有可能…… 您需要通过您的对象类实现 Serializable 类。

    【讨论】:

      【解决方案2】:

      如果对象实现 Parcelable,您可以像这样使用 putParcelableArrayList 方法:

      Bundle data = new Bundle();
      data.putParcelableArrayList("myArrayList", myList);
      Intent i = new Intent();
      i.putExtra("data", data);
      

      希望对您有所帮助。

      【讨论】:

      • 是的,只要 ArrayList 中的对象实现 Parcelable 就可以了。
      【解决方案3】:

      如果您想发送对象的 ArrayList,那么您的类必须实现 ParcelableSerializable 接口。

      查看这些在活动之间发送自定义对象的好教程

      http://androidideasblog.blogspot.in/2010/02/passing-list-of-objects-between.html

      http://www.anddev.org/novice-tutorials-f8/simple-tutorial-passing-arraylist-across-activities-t9996.html

      【讨论】:

      • 第一个链接有足够清晰的说明和一个工作示例。谢谢。
      • 伙计们,当我使用 Parcelable 或 Serializable 传递大型 Arraylist 时,我遇到了 TransactionTooLargeException 问题。需要帮助。
      【解决方案4】:

      首先你需要在你的 Object 类中扩展 parcelable 类。然后你可以通过intent通过intent.putParcelableArrayListExtra("PASSING_DATA", data);

      这里的数据是自定义对象的arraylist。

      请参阅 ParcelableParcelable Tutorial 以获得更好的理解

      【讨论】:

        【解决方案5】:

        使用下面的代码在意图中传递数组列表。

        Intent mIntent = new Intent(FirstActivity.this, SecondActivity.class);
        mIntent.putParcelableArrayListExtra("Data", mArraylist);
        startActivity(mIntent);
        

        使用下面的代码从 Intent 中获取数组列表。

        Bundle bdl = getIntent().getExtras();
        mArraylist1 = bdl.getParcelableArrayList("Data");
        

        【讨论】:

          【解决方案6】:

          您可以在定义它的地方将数组列表设为静态,并且只将位置传递给下一个活动

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-07-30
            • 1970-01-01
            • 2012-08-29
            • 1970-01-01
            • 2023-03-23
            • 1970-01-01
            • 2020-12-15
            • 1970-01-01
            相关资源
            最近更新 更多