SORU
27 Temmuz 2011, ÇARŞAMBA


Parçaları içinde parçaları

Bu aslında Android API bir hata olup olmadığını merak ediyorum:

Böyle bir kurulum var:

┌----┬---------┐
|    |         |
|  1 |    2    |
|    |┌-------┐|
|    ||       ||
|    ||   3   ||
└----┴┴-------┴┘
  1. Bir menü yükler parçası sağ bölmede #2 (Arama ekranı).
  2. Parça içeren bir arama ekranı sonuç listesi #3.
  3. Sonuç listesi çeşitli yerlerde (kendi doğru işleyen yüksek düzeyli bir parçası olarak dahil) kullanılır.

Bu işlevi, mükemmel bir telefon 1 & 2 ve 3 ActivityFragments () iyi çalışır.

Bu kodu kullandım ancak:

    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();       
    Fragment frag = new FragmentNumber2();
    if(toLoad != null) frag.setArguments(toLoad);
    transaction.replace(R.id.rightPane, frag);      
    transaction.commit();

R.id.leftPane R.id.rightPane <fragment>yatay doğrusal bir düzen içinde.

Yukarıdaki kodu yerleşik ve sonra yeni bir parça ile değiştirir hangi parçasını kaldırır anladığım kadarıyla. Parlak... Belli ki bu kod, aşağıdaki özel durum alırsınız ikinci kez çalıştırıldığında, çünkü ne olacak değil mi:

07-27 15:22:55.940: ERROR/AndroidRuntime(8105): Caused by: java.lang.IllegalArgumentException: Binary XML file line #57: Duplicate id 0x7f080024, tag null, or parent id 0x0 with another fragment for FragmentNumber3

Bu FragmentNumber3 için kapsayıcı bir kopyası yapıldı ve artık benzersiz bir KİMLİĞİ vardır kaynaklanıyor. İlk Parça yok (?) yeni eklenen olmadı demektir. (aklımda önce ^em>yerini aldı).

Eğer birisi bu mümkün (this answer değil mi öneriyor) olduğunu söyleyebilir ya da bir hata mı?

CEVAP
27 Temmuz 2011, ÇARŞAMBA


İç içe geçmiş parçaları şu anda desteklenmiyor. Başka bir parçası UI içinde bir parça bırakmak tanımsız ve büyük olasılıkla bozuk davranışlara neden olur.

Güncelleme: Parçaları iç içedesteklenirAndroid 4.2 (Android Destek rev 11 Kitaplığı) olarak : http://developer.android.com/about/versions/android-4.2.html#NestedFragments

NOT(this docs) başı olarak: "Not: bu düzeni içeriyorsa bir parçası haline düzeni şişirmek <fragment>. İç içe geçmiş parçaları parçası bir dinamik olarak eklendiğinde desteklenir."

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andytokkallos

    Andytokkallo

    27 Kasım 2007
  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012
  • LimeFire

    LimeFire

    2 ŞUBAT 2012