gpt4 book ai didi

java - 如何使用 Intent 发送和接收 ArrayList

转载 作者:行者123 更新时间:2023-12-02 11:55:43 26 4
gpt4 key购买 nike

我是 Android 新手。我需要你的帮助。我的问题是 - 我有 2 个类 Nplist.javaAddcustomer.java。在我的 AddCustomer 类(class)中,一个 TextView和一个Button有去Nplist课吗?在我的 Nplist 类中,有一个 list ,该 list 来自数据库,所有检查的值都存储在 ArrayList<String> 中。和一个Button用于返回AddCustomer类。我想要那个ArrayList<String>它位于 Nplist 中,并显示在我的 AddCustomer 类中 Textview 。我已经尝试过这些,但我的 Addcustomer 类崩溃了。

1.Nplist.class

add.setOnClickListener(new View.OnClickListener() {<br>
@Override<br>
public void onClick(View view) {<br>
Bundle extra=new Bundle();<br>
extra.putSerializable("objects",checkedList);<br>
Intent intent = new Intent(Nplist.this, AddCustomer.class);<br>
intent.putExtra("extra",extra);<br>
startActivity(intent);<br>
});

2.AddCustomer.class

onCrete()...{
Bundle extra = getIntent().getBundleExtra("extra");<br>
ArrayList<String> object = (ArrayList<String>)extra.getSerializable("objects");<br>
for (String str : object) {<br>
getnp.append(str + "\n");<br>
}
}

你期望的结果是什么?- 你得到的实际结果是什么? (如有错误请指出。)当我这样 Nplist-->AddCustomer 时,它运行良好,但崩溃(AddCustomer-->Nplist-->AddCustomer)

最佳答案

这是因为当您返回 AddCustomer Activity 时,列表为 null 。您可以通过创建一个全局类来解决这个问题,该类将列表存储在静态字段中,并且您可以从任何您想要的类或 Activity 访问该列表。尝试下面的解决方案。

Global.java 类如下:

public class Global {

private static ArrayList<String> object = new ArrayList<>();

public static ArrayList<String> getObject() {
return object;
}

public static void setObject(ArrayList<String> object) {
Global.object = object;
}
}

NpList.java类设置列表的值如下:

add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Global.setObject(checkedList);
Intent intent = new Intent(Nplist.this, AddCustomer.class);
startActivity(intent);
}
});

现在在 AdCustomer.java 中访问如下:

onCreate()...{
Bundle extra = getIntent().getBundleExtra("extra");
ArrayList<String> object = Global.getObject();
for (String str : object) {
getnp.append(str + "\n");
}
}

这也许对你有帮助。

关于java - 如何使用 Intent 发送和接收 ArrayList<String>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47616092/

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