我需要从一个活动复制另一个活动中的 ArrayList 。 这是一个名为 Dias 的对象的 ArrayList ,它包含一个String和一个布尔值:
Arraylist {Dias} // Dias contains(String Dias, boolean estado)
我必须将此ArrayList传递给其他活动。
My 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);
}
}
如何将 Arraylist 发送到其他活动?我只是不明白它是如何工作的(可以分发的)我也不知道使用它的语法
谢谢!
答案 0 :(得分:0)
您必须在对象Dias中实现Parcelable接口。您可以在此处详细了解如何执行此操作:http://developer.android.com/reference/android/os/Parcelable.html
除此之外,您将使用以下方法发送您用于启动ArrayList的其他活动的Intent:
)&#34;&gt; intent.putParcelableArrayListExtra(nameToSaveAs,yourList)
然后您startActivity(intent)
并且您可以使用getIntent().getParcelableArrayListExtra(nameToSaveAs);
接收其他活动中的数据您可能需要投射它,但这是传递ArrayLists的基本步骤。
答案 1 :(得分:0)
另一种简单的方法是以自己的方式序列化它。
例如:
如果你的arraylist中有5个元素,例如"hello", "how" , "are", "you", "brother"
。您可以遍历arraylist并将字符串设为hello,how,are,you,brother
String serializedString = "";
for(String anElement:arrayList)
serilaizedString = serializedString + "," +anElement;
并使用Intent的 putExtra 方法将其发送到另一个活动。
在接收端,您可以使用拆分(&#34;,&#34;)拆分文本,然后您将获得一个数组,如果需要,您可以再次更改为数组列表
String[] myArray = recievedString.split(",");
List<String> myList = new List<String>();
for(String anElement:myList)
myList.add(anElement);
现在你有myList作为数组列表。
P.S。但您的字符串不应包含任何逗号。因此,对于使用逗号的情况,您可以使用类似$
或%
的内容或者适用于案例的内容。
答案 2 :(得分:-1)
您可以使用序列化或使用Parcelable接口传递它。有关Parcelable接口http://developer.android.com/reference/android/os/Parcelable.html的信息,请参阅此内容。