如何解决Android:如何将ArrayList <object>从一个活动传递到另一个
|| arraylist中的对象在外部库中定义。该对象包含一些int值以及一个float []。 如何将所有ArrayList从一个活动传递到另一个活动? 谢谢! 顺便说一句,我没有对象类的控制权。解决方法
这取决于数组列表中对象的类型。如果您可以控制它并且可以实现Parcelable,则可以使用
Intent.putParcelableArrayListExtra
。
另一种方法是扩展Application并将ArrayList存储在那里。然后,不需要在Intent中传递它,并且应用程序中的所有活动都可以通过调用ѭ1来访问它。 Application对象将在应用程序的生命周期内保持不变,存储在其中的所有数据也会保持不变。
编辑:
为此使用Application对象:
写一个扩展android.app.Application
的类(我们称它为MyApplication
)。声明一个字段(让我们称之为“4ѭ”)来保存您的数组列表。
在清单的<application>
标记中指定名称MyApplication
。系统为您的应用创建进程时,系统会创建一个“ 2”实例。
希望访问该字段的任何活动都可以使用((MyApplication) getApplication()).array
。您在第一个活动中对其进行初始化,然后在第二个活动中对其进行检索。
另一种完全不同的方法是在某个类中声明静态单例。实际上,文档建议将其推荐给子类应用程序,因为它具有更高的模块化性。这有点像hack,因为它基本上是在声明全局变量。但是我想这只是将随机数据放入Application对象中而已。
, Intent intent = new Intent(this,TargetActivity.class);
intent.putExtra(\"nameOfArray\",YOUR_ARRAY_LIST);
startActivity(intent);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。