java - 如何在 Android 中的两个 Intent 之间传递 arrayList

标签 java android android-intent arraylist

我是 Android 新手,我有一个关于 Intent 的问题。我想通过使用 Intent 在两个 Activity 之间传递一个字符串ArrayList。我已经尝试过:

`
ArrayList<String> playerName = new ArrayList<>();
Intent intent = new Intent(this,Game.class);
intent.putStringArrayListExtra("Player",playerName);
startActivity(intent);`

然后我尝试这样接收我的 Intent : `

 ArrayList<String> playerNameList= new ArrayList<>();
 playerNameList = getIntent().getStringArrayListExtra("Player");
 int listSize = playerNameList.size();
 StringBuilder str = new StringBuilder(" ");
 str.append(listSize);
 textView.setText(str);
 StringBuilder str1 = new StringBuilder(" ");
 str1.append(playerNameList.get(2));
 textView2.setText(str1);`

我可以获得正确的listSize;但是我无法获取 arrayList 的任何元素。我总是得到“index(0)”元素。我将非常感谢任何建议和帮助

最佳答案

使用 Gson 可以轻松实现

Intent intent = new Intent(this,Game.class);
intent.putExtra("Player",new Gson().toJson(playerName));
startActivity(intent);

在 Game.class

ArrayList<String> playerNameList = playerNameList = new ArrayList<>();
String str =  getIntent().getStringExtra("Player");
playerNameList = new Gson().fromJson(str,new TypeToken<ArrayList< String >>(){}.getType());

关于java - 如何在 Android 中的两个 Intent 之间传递 arrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43791335/

相关文章:

android - MonoDevelop 默认 M4A 应用程序 "has stopped unexpectedly"

android - 调试器在调用外部 Intent (相机)时断开连接

java - 警报管理器完成后如何运行函数?

android - 在onResume中调用intent会导致无限递归

java - Android:使用对象存储游戏变量

java - 尝试在 Spring + Thymeleaf 中创建复合 jpa 对象

java - 需要更改Spring Cloud中的bootstrap环境

Android GridView 重复图像

java - Richfaces a4j :commandButton not working when enabled after a ajax response

java - Android 带有数字的字符串资源