2014-10-30 2 views
0

Мне нужно дублировать ArrayList от одной деятельности от другой. Это ArrayList объекта, который я назвал Dias, и он содержит строку и логический:Отправить Arraylist объекта от одного вида деятельности к другому

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; 
    } 

}

Мой Primary Класс:

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); 
    } 

} 

Как я могу отправить мой Список_массивов на другой вид деятельности ?, я просто не понимаю, как это работает (логично), а также я не знаю, как использовать синтаксис.

Спасибо!

ответ

0

Еще один простой способ - сериализовать его по-своему.

Например:

Если у вас есть 5 элементов в вашем ArrayList, как "hello", "how" , "are", "you", "brother". Вы можете петлю через ArrayList и сделать строку как hello,how,are,you,brother

String serializedString = ""; 
for(String anElement:arrayList) 
    serilaizedString = serializedString + "," +anElement; 

и отправить его на другой вид деятельности, используя putExtra метод Намерения.

И в конце приема вы можете разделить текст, используя split (","), после чего вы получите массив, который вы можете изменить в списке массивов, если это необходимо.

String[] myArray = recievedString.split(","); 
List<String> myList = new List<String>(); 
for(String anElement:myList) 
    myList.add(anElement); 

Теперь у вас есть список myList как список массивов.

P.S. Ваши строки не должны содержать запятой.Поэтому для случаев с запятой вы можете использовать что-то вроде $ или % или что когда-либо удобно для футляра.

0

Вы должны реализовать интерфейс Parcelable в объекте Dias. Вы можете увидеть больше о том, как сделать это здесь: http://developer.android.com/reference/android/os/Parcelable.html

Кроме того, что вы бы отправить через Intent, который используется для запуска другого вида деятельности в ArrayList с помощью метода:

) "> intent.putParcelableArrayListExtra (nameToSaveAs , yourList)

Тогда вы startActivity(intent), и вы можете получить данные в другой деятельности с getIntent().getParcelableArrayListExtra(nameToSaveAs); вы, вероятно, придется бросить его, но это основные шаги, чтобы пройти ArrayLists.

Смежные вопросы