[英]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.