如何使用Intent发送和接收ArrayList <String>?
我是Android新手。我需要你的帮助。我的问题是 - 我有2类Nplist.java和Addcustomer.java。在我的AddCustomer类,一个TextView
和一个Button
是去Nplist类。在我的Nplist类有检查表,这个检查表来自数据库和所有检查值存储在ArrayList<String>
和一个Button
用于返回AddCustomer类。我想ArrayList<String>
这是在Nplist要通过显示在我的AddCustomer类Textview
。我曾试过这些,但我的Addcustomer班级坠毁。如何使用Intent发送和接收ArrayList <String>?
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
活动列表为空。您可以通过创建一个全局类来解决这个问题,该类将把列表存储在静态字段中,并且您可以从任何您想要的类或活动访问该列表。尝试下面的解决方案。
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
类设置列表如下价值:
onCreate()...{ Bundle extra = getIntent().getBundleExtra("extra");
ArrayList<String> object = Global.getObject();
for (String str : object) {
getnp.append(str + "\n");
}
}
:
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
如下访问这可能对你有帮助。
回答:
使用putStringArrayListExtra
方法,您可以发送字符串的数组列表以及意图。
发送方:
Intent intent = ... intent.putStringArrayListExtra("THE_KEY", theList);
接收侧:
ArrayList<String> theList = intent.getStringArrayListExtra("THE_KEY");
以上是 如何使用Intent发送和接收ArrayList <String>? 的全部内容, 来源链接: utcz.com/qa/259830.html