gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:51:25 25 4
gpt4 key购买 nike

我是 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com