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