java将对象的Arraylist从一个活动发送到另一个活动
我需要从一个活动复制一个ArrayList。 这是一个我命名为Dias的对象的数组列表,它包含一个字符串和一个布尔值:
Arraylist {Dias} // Dias contains(String Dias, boolean estado)
我必须把这个ArrayList传递给其他活动
我的Dias课程:
public class Dias {
private String Dia;
private boolean estado;
//CONSTRUCTOR DE LA CLASE//
public Dias(String Dia, boolean estado) {
this.Dia = Dia;
this.estado = estado;
}
//GETTERS Y SETTERS DE LA CLASE//
public String getDia() {
return Dia;
}
public void setDia(String dia) {
Dia = dia;
}
public boolean isChekeado() {
return estado;
}
public void setChekeado(boolean chekeado) {
estado = chekeado;
}
}
我的小学班级:
public class Primera extends Activity {
ArrayList<Dias> dias = new ArrayList<Dias>();
//OnClick Method
public void lanzar2(View view){
dias.add(new Dias("Lu", false));
dias.add(new Dias("MAr", false));
Intent i = new Intent();
Bundle b = new Bundle();
b.putParcelableArrayList("arreglo", (ArrayList<? extends Parcelable>) dias);
i.putExtras(b);
i.setClass(this, ListasActivity.class);
startActivity(i);
}
}
如何将我的阵列列表发送到其他活动?,我只是不明白它是如何工作的(可包裹的),而且我也不知道使用它的语法
谢谢大家!
# 1 楼答案
另一个简单的方法是以自己的方式序列化它
例如:
如果在arraylist中有5个元素,如
"hello", "how" , "are", "you", "brother"
。您可以循环遍历arraylist并将字符串设置为hello,how,are,you,brother
并使用putExtra意图方法将其发送到另一个活动
在接收端,您可以使用split(“,”拆分文本,然后您将得到一个数组,如果需要,您可以再次将其更改为数组列表
现在将myList作为数组列表
p.S.但是字符串不应该包含任何逗号。所以对于使用逗号的情况,您可以使用类似
$
或%
或任何适合使用逗号的内容# 2 楼答案
您必须在对象DIA中实现接口Parcelable。您可以在此处查看有关如何执行此操作的更多信息:http://developer.android.com/reference/android/os/Parcelable.html
除此之外,您还可以通过以下方法发送用于启动其他活动的意图ArrayList:
)“>;intent.putParcelableArrayListExtra(名称存储,您的列表)
然后
startActivity(intent)
可以在另一个活动中使用getIntent().getParcelableArrayListExtra(nameToSaveAs);
接收数据。您可能需要强制转换它,但这是传递ArrayList的基本步骤# 3 楼答案
您可以使用序列化或Parcelable接口传递它。有关可包裹接口http://developer.android.com/reference/android/os/Parcelable.html,请参阅此