2017-03-16 5 views
0

Github: https://github.com/jjvang/PassIntentDemoPassing Arraylist <CustomObject> Parcel mit, vorbei null

Ich verfolge dieses Tutorial Objekt durch Absicht zu übergeben: https://www.javacodegeeks.com/2014/01/android-tutorial-two-methods-of-passing-object-by-intent-serializableparcelable.html

ich aus dem Tutorial zu verstehen, wie eine Arraylist senden Parcel Umsetzung wenn Sie nur 1 Satz von Werten wie dieses:

public void PacelableMethod(){ 
     Book mBook = new Book(); 
     mBook.setBookName("Android Developer Guide"); 
     mBook.setAuthor("Leon"); 
     mBook.setPublishTime(2014); 
     Intent mIntent = new Intent(this,ObjectTranDemo2.class); 
     Bundle mBundle = new Bundle(); 
     mBundle.putParcelable(PAR_KEY, mBook); 
     mIntent.putExtras(mBundle); 

     startActivity(mIntent); 
    } 

ich den Code angeordnet sind, so kann ich weiterhin auf die Arraylist Größe 2 oder größer ist, aber feststellen, dass die Arraylist ich gehe zur nächsten Aktivität hinzufügen ist Null.

Ich würde gerne verstehen, ob ich die ArrayList anders hinzufügen müsste oder wenn ich die Arraylist nur falsch senden/fangen würde.

Der Versuch, Codeänderung wie folgt aus:

public void PacelableMethod(){ 
    ArrayList<Book> words = new ArrayList<Book>(); 
    words.add(new Book("red", "yes", 1)); 
    words.add(new Book("mustard", "yes", 1)); 
    Toast.makeText(this, "" + words, Toast.LENGTH_SHORT).show(); 
    Intent intent = new Intent(this,ObjectTranDemo2.class); 
    intent.putExtra("Contact_list", words); 
    Bundle mBundle = new Bundle(); 
    intent.putExtras(mBundle); 
    startActivity(intent); 
} 

public class ObjectTranDemo2 extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     ArrayList<Book> myList = getIntent().getParcelableExtra("Contact_list"); 
     Toast.makeText(this, "" + myList, Toast.LENGTH_SHORT).show(); 
    } 
} 

Bitte beraten, danke!

Antwort

0

Ich glaube, Sie benötigen eine Array-Liste auf die Absicht Extras hinzuzufügen putParcelableArrayListExtra mit: intent.putParcelableArrayListExtra (Contact_list“, Wörter)

dann erhalten sie mit getParcelableArrayListExtra

+0

Nicht null bekommen !! Vielen Dank für die Tipp, ich werde jetzt sehen, ob ich mit der ArrayList einen Adapter einstellen kann. – ojboba

Verwandte Themen