繁体   English   中英

Android - 在活动之间传递一组类

[英]Android - Passing an Array of Classes Between Activities

我在一个数组中有三个不同的类或活动。 每个类代表一个谜题。 我有一个功能,可以在应用程序开始时重新排列数组,这样用户每次启动应用程序时都不会看到相同的拼图。

我想将这个类的数组从activity传递给activity。 我能够将数组设置为传递,但不知道如何在以下活动中检索它。

这是Activity One中的设置

Class[] array = {PuzzleOne.class, PuzzleTwo.class, PuzzleThree.class};
Intent goToPuzzleOne = new Intent(MainActivity.this, array[0]);
goToPuzzleOne.putExtra("classes",array);

如何在Activity 2中检索此类? 这是我到目前为止所拥有的

 Bundle extras = getIntent().getExtras();
 Class[] array = extras.NO IDEA HOW TO RETRIEVE IT HERE

如果有解决方案,请告诉我。 谢谢。

由于我们正在处理地图,你应该选择:

Object[] array = (Object[]) extras.get("classes"); // you cannot cast to Class[] !

然后:

Class a = (Class) array[0]; // and etc.

你可以看看putExtra("classes", array)的第二个参数的类型是什么,结果是Serializable

因此,您可以使用getSerializable()将其返回并将其getSerializable()为Class数组:

Class[] array = (Class[]) extras.getSerializable("classes");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM