SORU
14 Mayıs 2010, Cuma


Geçen veya bir nesne (en iyi çözüm)ile numaralama nesne

Ne zaman iki farklı ArrayLists erişim ihtiyaçları başlayan bir aktivite var. Her iki listede de kendim yarattım farklı nesnelerdir.

Temelde bir Niyeti etkinlik için bu nesneleri geçirmek için bir yola ihtiyacım var. AddExtras kullanabilirim() ama bu Parceable uyumlu bir sınıf gerektirir. Derslerimi seri hale getirilebilir geçirilecek yapabilirim ama anladığım kadarıyla bu programı yavaşlatır.

Seçeneklerim neler?

Bir Numaralama geçebilir miyim?

Olarak bir kenara: bir şekilde bir Faaliyet bir Niyeti Yapıcı parametreleri geçirmek için var?

CEVAP
21 EYLÜL 2011, ÇARŞAMBA


Senin numaralama numaralamalar için oldukça kolaydır: uygulamak Parcelable yapabilirsiniz

public enum MyEnum implements Parcelable {
    VALUE;


    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(final Parcel dest, final int flags) {
        dest.writeInt(ordinal());
    }

    public static final Creator<MyEnum> CREATOR = new Creator<MyEnum>() {
        @Override
        public MyEnum createFromParcel(final Parcel source) {
            return MyEnum.values()[source.readInt()];
        }

        @Override
        public MyEnum[] newArray(final int size) {
            return new MyEnum[size];
        }
    };
}

Sonra Niyet kullanabilirsiniz.putExtra(String, Parcelable).

GÜNCELLEME: enum.values() her arama yeni bir dizi ayırır unutmayın wreckgar yorum Lütfen.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011