SORU
5 EYLÜL 2013, PERŞEMBE


Eklemek arasındaki fark(), replace () ve addToBackStack()

Bu yöntemler arasında arama: temel fark nedir

fragmentTransaction.addToBackStack(name);
fragmentTransaction.replace(containerViewId, fragment, tag);
fragmentTransaction.add(containerViewId, fragment, tag);

Zaten varolan bir parça değiştirmek için, ve aktivite durumuna bir parça eklemek, ve geri yığını için bir etkinlik ekleme ne demek?

İkinci olarak, findFragmentByTag() tag için bu aramaadd()/replace() yöntemi veya addToBackStack() yöntemiyle yapıyor diyorlar.

CEVAP
10 ŞUBAT 2014, PAZARTESİ


add replace arasında fark olduğunu bir kere daha önemi: replace mevcut parça kaldırır ve yeni bir parça ekler. Bunun yerine var olan parça onun onCreateView çağrılan ile oluşturulacak Geri düğmesine bastığınızda anlamına gelir. Oysa add korur mevcut parçaları ve ekler yeni bir parça anlamına gelir mevcut parçası olacak aktif ve onlar alışkanlık olacak 'duraklatıldı' Devlet bu yüzden ne zaman bir geri düğmesi basılı onCreateView çağrılmaz için mevcut parça(parça hangi yokken yeni parça eklendi). Parçanın yaşam döngüsü olayları açısından onPause, onResume, onCreateView ve diğer yaşam döngüsü olayları replace halinde çağrılacak ama add durumunda çağrılan bir şey üretmez.

Edit: Bir olay bir çeşit Greenrobot's Eventbus gibi otobüs kütüphane ve add) diğer parça yığını için aynı bölümü yeniden o ise dikkatli olmalıdır. Bu senaryo, olsa bile izlemeden en iyi uygulama ve kayıt olay otobüste onResume ve kaydı onPause, otobüs olayı hala aktif olarak her örneği eklendi parçası olarak add parça alışkanlık diyoruz ya bu parça yaşam döngüsü yöntemleri. Sonuç olarak parçanın her aktif örnek olay otobüs dinleyici istediğin şey olmayacak aynı olay işleme.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • Mr. H

    Mr. H

    1 Temmuz 2012