2016-03-23 20 views
0

Faaliyetler arasında bir ArrayList<float[]> göndermenin en kolay yolu nedir?Bir ArrayList Gönderme <float[]> etkinlikler arasında (android)

SharedPreferences veya putExtra kullanarak göndermek mümkün müdür?

Sadece ArrayList<String> veya ArrayList<Int> göndermenin örneklerini gördüm ve bu seçenekler aracılığıyla oluşturuldu. putStringArrayList vb.

cevap

2

En iyi yol, bunu Intent Paketine ekstra olarak eklemektir. Bunun nedeni, Intent ekstralarının özellikle Etkinlikler arasındaki argümanları iletmek için yaratılmış olmasıdır.

ArrayList<float[]> list = new ArrayList<>(); 
Intent i = new Intent(FirstActivity.this, SecondActivity.class); 
i.putExtra("arg_key", list); 

Ekstra

koyun veri neyse bir veritabanında kalıcı edilecekse, söz konusu

ArrayList<float[]> list = (ArrayList<float[]>) getIntent().getSerializableExtra("arg_key"); 

, sadece veritabanından almak isteyen ilave alın. o vb bayrakları, jeton, uygulama ayarlarını depolamak için tasarlanmıştır olarak bunun için SharedPreferences kullanmak ister

GÜNCELLEME bir niyet en ekstralar tarafından desteklenen ve bir değil bir argüman iletilmesi istiyorsanız

Doğal olarak Serializable değil, Parcelable bir göz atın. Parcelable ürününü herhangi bir POJO ürününüzde Bundle ürününe ekleyebilmeniz için uygulayabilirsiniz. Parcelable da Serializable'dan daha hızlıdır.

+0

Yanıtladığınız için teşekkür ederiz. Bununla birlikte, bu bir float dizisinin nasıl gönderileceğini açıklar, ancak Float dizileri bir ArrayListini nasıl gönderir? – sonnert

+0

Cevabımı zaten güncelledim. Serileştirilebilir kullanımı, 'ArrayList' olduğundan ve float [] 'ın her ikisi de 'Serializable' olduğundan çalışmalıdır. – Kevin

+0

Teşekkürler! Bir çekicilik gibi çalışır. – sonnert

İlgili konular