SORU
12 ŞUBAT 2012, Pazar


En iyi uygulama yeni Android bir Parçası başlatmasını için

İki genel uygulamaları bir uygulama yeni bir Parça oluşturmak için gördüm:

Fragment newFragment = new MyFragment();

ve

Fragment newFragment = MyFragment.newInstance();

İkinci seçenek, statik bir yöntem kullanmak newInstance() ve yapargenellikleiçeren aşağıdaki yöntemi.

public static Fragment newInstance() 
{
    MyFragment myFragment = new MyFragment();
    return myFragment;
}

İlk başta ben de ana parası oldu aslında ben aşırı newİnstance() yöntemine ver esneklik oluştururken yeni örneklerini bir Parçası - ama ben de bu oluşturarak aşırı yüklenmiş kurucu Parçası.

Bir şey kaçırdık mı?

Diğer bir yaklaşım avantajları nelerdir? Yoksa sadece iyi bir uygulamadır?

CEVAP
12 ŞUBAT 2012, Pazar


Eğer Android Bölümü daha sonra yeniden oluşturmak için karar verirse, parça no-argüman yapıcı arayacak. Yani kurucu aşırı yükleme bir çözüm değildir.

Olduğu söyleniyor, bir Parça Android tarafından yeniden sonra kullanılabilir, böylece Parça bir şeyler geçirmek için yolu setArguments yöntemi için bir paket geçmektir.

Eğer parça için bir tamsayı geçmek istersek yani, örneğin, gibi bir şey kullanabilirsiniz:

public static MyFragment newInstance(int someInt) {
    MyFragment myFragment = new MyFragment();

    Bundle args = new Bundle();
    args.putInt("someInt", someInt);
    myFragment.setArguments(args);

    return myFragment;
}

Ve Parça daha sonra onCreate() kullanarak tamsayı erişebilirsiniz:

getArguments().getInt("someInt", 0);

Bu Paket eğer Parça bir şekilde Android tarafından yeniden bile kullanılabilir.

Ayrıca not: setArguments tek Parça Aktivite bağlanmadan önce çağrılabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • akalyne

    akalyne

    13 Mayıs 2009
  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009