Come passare ArrayList degli oggetti personalizzati a una nuova attività?

Ho creato la class textViewTable In questa class sto salvando i dati relativi a TextViews che voglio passare all'attività successiva.

public class TextViewTable implements Serializable { private String FONT; private String TEXT; private float TEXT_SIZE; private ColorStateList TEXT_COLOR; private float MARGIN_TOP; private float MARGIN_BOTTOM; private float MARGIN_LEFT; private float MARGIN_RIGHT; private Boolean BoldFlag; private Boolean ItalicFlag; private Boolean NormalFlag; public TextViewTable(){ } public TextViewTable(String FONT, String TEXT, float TEXT_SIZE, ColorStateList TEXT_COLOR, float MARGIN_TOP, float MARGIN_BOTTOM, float MARGIN_LEFT, float MARGIN_RIGHT, Boolean boldFlag, Boolean italicFlag, Boolean normalFlag) { this.FONT = FONT; this.TEXT = TEXT; this.TEXT_SIZE = TEXT_SIZE; this.TEXT_COLOR = TEXT_COLOR; this.MARGIN_TOP = MARGIN_TOP; this.MARGIN_BOTTOM = MARGIN_BOTTOM; this.MARGIN_LEFT = MARGIN_LEFT; this.MARGIN_RIGHT = MARGIN_RIGHT; BoldFlag = boldFlag; ItalicFlag = italicFlag; NormalFlag = normalFlag; } 

}

  • android - proguard errore nello studio android
  • Suggerimento di posizionamento in multilinea EditText - TextInputLayout
  • Come rendere il nostro schermo di block in android invece di schermo di block predefinito
  • Invio di dati tramite Bluetooth
  • Scaricare il database SQLite da Internet e caricare nell'applicazione Android
  • Impostare il tipo di carattere specifico in uno stile.xml
  • Dalla mia attivita voglio submit ArrayList di oggetti di class TextViewTable. Ho usato la function sotto per submit l'ArrayList. Ma each volta che ottengo exception puntatore nullo. Aiutaci a risolvere questo problema.

     public void onClick(View view) { Intent intent = new Intent(getApplicationContext(), displayImage.class); Bundle bundleObject = new Bundle(); bundleObject.putSerializable("key", textViewsData); intent.putExtras(bundleObject); try { startActivity(intent); }catch (Exception e){ System.out.println(e); } } }; 

    LogCat

  • ActionBarSherlock, ViewPager, TabsAdapter sono stati inseriti frammenti di tabulazione
  • Come call un'applicazione Android da un'altra applicazione Android
  • Dove posso get un google-services.json
  • Come tagliare un'image in android?
  • Android: Come distriggersre gli elementi di elenco nella creazione dell'elenco
  • Come impostare il text della visualizzazione di text in un altro thread
  • 5 Solutions collect form web for “Come passare ArrayList degli oggetti personalizzati a una nuova attività?”

    Attualmente utilizzando Bundle.putSerializable per l'invio di object di class TextViewTable ArrayList alla attività successiva ma non implementazione Interfaccia seriale in class TextViewTable :

     public class TextViewTable implement Serializable{ .... } 

    puoi seguire la risposta di ρяσѕρєя K oppure puoi anche fare il seguente codice:

     public class GeneralClass{ public static ArrayList<TextViewTable> data = new ArrayList<TextViewTable>(); } 

    e quindi puoi memorizzare i tuoi dati nell'alto di nozze sulla prima attività come qui sotto:

     Collections.copy(GeneralClass.data,textViewsData); 

    e adesso puoi usare GeneralClass.data arrayslist nella tua seconda attività;

    Invio del POJO da un'attività a un'altra attività:

     Bundle bundle = new Bundle(); ArrayList<StatusData> passData = new ArrayList<StatusData>(); bundle.putSerializable("key", passData); intent.putExtras(bundle); startActivity(intent); //then the transaction part 

    Ottenere il bundle`:

      Bundle bundle = new Bundle(); bundle = getIntent().getExtras(); ArrayList<StatusData> dataReceived = (ArrayList<StatusData>)bundle.getSerializable("key")); 

    e poi fare quello che ti piace.Hope this helps.Cheers. È inoltre ansible utilizzare Parcelable .

    Prima attività

     public void shareCustomArrayListObject(ArrayList<CUSTOMOBJECT> arraysList) { if (arraysList != null && arraysList.size() > 0) { Intent intent = new Intent(getApplicationContext(), displayImage.class); Bundle bundleObject = new Bundle(); bundle.putSerializable("KEY", arraysList); intent.putExtras(bundleObject); } } 

    Seconda attività in cui si desidera recuperare l'arrayslist

      private ArrayList<CUSTOMOBJECT> arraysList; Bundle bundle=YOURACTIVITY.getBundle(); if(bundle==null){ bundle=getArguments(); } if(bundle.getSerializable("KEY")!=null){ arraysList=(ArrayList)bundle.getSerializable("KEY"); } 

    e anche se hai fatto una class di fagioli per gli arrayslist che devi implementare

     public class CUSTOMOBJECT implements Serializable{ 

    e hai fatto 🙂

    è necessario utilizzare l' object Parcelable per passare i dati tra le seguenti attività:

    Passaggio dei dati dall'attività A all'attività B

     Intent intent=new Intent(A.this,B.class); intent.putParcelableArrayListExtra("key", arrays_list); startActivity(intent); 

    Ottenere i dati nell'attività B dall'attività A

     Intent intent=getIntent(); arrays_list = intent.getParcelableArrayListExtra("key"); 

    Cosi 'semplice.

    Spero che questo ti aiuterà.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.