Parça
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 13 Ağustos 2025 | 1.8.9 | - | - | - |
Bağımlılıkları bildirme
Fragment'a bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Eski
dependencies { def fragment_version = "1.8.9" // Java language implementation implementation "androidx.fragment:fragment:$fragment_version" // Kotlin implementation "androidx.fragment:fragment-ktx:$fragment_version" // Compose implementation "androidx.fragment:fragment-compose:$fragment_version" // Testing Fragments in Isolation debugImplementation "androidx.fragment:fragment-testing-manifest:$fragment_version" androidTestImplementation "androidx.fragment:fragment-testing:$fragment_version" }
Kotlin
dependencies { val fragment_version = "1.8.9" // Java language implementation implementation("androidx.fragment:fragment:$fragment_version") // Kotlin implementation("androidx.fragment:fragment-ktx:$fragment_version") // Compose implementation("androidx.fragment:fragment-compose:$fragment_version") // Testing Fragments in Isolation debugImplementation("androidx.fragment:fragment-testing:$fragment_version") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.8
Sürüm 1.8.9
13 Ağustos 2025
androidx.fragment:fragment-*:1.8.9 iptal edilir. 1.8.9 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Bir gizleme işlemini tetikleyen tahmin edilen geri gitme hareketinin iptal edilmesinin, animatörler kullanılırken sonraki hareketin doğru şekilde animasyon oluşturmamasına neden olması sorunu düzeltildi. (I0a400, b/384765586)
setMaxLifecyclevepopBackStackkombinasyonunun, üst parçayı RESUMED durumuna taşımayı başaramadığı hata düzeltildi. (I3448b, b/406127576)
Sürüm 1.8.8
4 Haziran 2025
androidx.fragment:fragment-*:1.8.8 iptal edilir. 1.8.8 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
setMaxLifecycle(Lifecycle.State.INITIALIZED)ile eklenen parçaların durumu kaydedilmeye çalışılırkenFragmentManager'nın çökmesine neden olan sorun düzeltildi. Bu parçalaronCreate()işleminden hiç geçmediğinden artık kaydedilmiş bir duruma veyaonSaveInstanceState()çağrısına sahip değildir. (I6e37a)
Sürüm 1.8.7
20 Mayıs 2025
androidx.fragment:fragment-*:1.8.7 iptal edilir. 1.8.7 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Aynı karede pop ve değiştirme işlemlerinden sonra
FragmentManageröğesinin uygun durumda olmaması sorunu düzeltildi. Bu durum, geri yığınıpopBackStackveya tahmin edilen geri gitme hareketi aracılığıyla pop edildiğinde kilitlenmeye neden olabiliyordu. (I50ad1) - AndroidX Transitions kullanılırken ve hızlı ardışık parça işlemleri başlatılmamış bir geçişi iptal etmeye çalışırken AndroidX Transition kitaplığının geçiş durumunu düzgün şekilde temizlememesi nedeniyle oluşan kilitlenme sorunu düzeltildi. (b/414612221 adresine bakın). (Ib5235)
Sürüm 1.8.6
12 Şubat 2025
androidx.fragment:fragment-*:1.8.6 iptal edilir. 1.8.6 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
FragmentContainerView'nınsetOnApplyWindowInsetsListenergeçersiz kılma işlemi artık çerçeve tarafından izin verilen şekilde boş bir dinleyici alıyor. (I575f0, b/282790626)
Sürüm 1.8.5
30 Ekim 2024
androidx.fragment:fragment-*:1.8.5 iptal edilir. 1.8.5 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Yalnızca Tahmin Edilen Geri Gitme hareketi iptal edildikten veya kesintiye uğradıktan sonra
saveBackStacktarafından tetiklenenIllegalStateExceptiondüzeltildi. (I3387d, b/342419080)
Sürüm 1.8.4
2 Ekim 2024
androidx.fragment:fragment-*:1.8.4 iptal edilir. 1.8.4 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Androidx Transitions kullanılırken sistemin geri düğmesine hızlıca basıldığında veya geri hareketinin hızlıca yapıldığında Fragment'ların kilitlenmesine neden olan sorun düzeltildi. (Ibc038, b/364804225)
- Parçalarda, tahmin edilen geri gitme hareketinin kesintiye uğratılmasının parça yöneticisini tanımlanmamış bir duruma göndermesine ve hatta yanlış parçayı göstermesine neden olan sorun düzeltildi. (If82e2, b/338624457)
UninitializedPropertyAccessException,AndroidFragmentörneğinizin kullandığı sınıf dinamik olarak değiştirilirkenAndroidFragmentiçinde düzeltildi. (I12dea)
Sürüm 1.8.3
4 Eylül 2024
androidx.fragment:fragment-*:1.8.3 iptal edilir. 1.8.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
FragmentManager, Tahmin Edilen Geri Gitme hareketini işlerken artık bekleyen işlemleri doğru şekilde hesaba katıyor. Bu işlem, sistem yedeklemesi yapmanın artıkIndexOutOfBoundsExceptionneden olmamasını sağlar. (I9ba32, b/342316801)AndroidFragment, kapsayan etkinlik/parçanın durumu zaten kaydedilmişken kompozisyona eklenirse artık kilitlenmiyor. (I985e9, b/356643968)
Sürüm 1.8.2
24 Temmuz 2024
androidx.fragment:fragment-*:1.8.2 iptal edilir. 1.8.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
AndroidFragmentartık üst parçanın Fragment geri yığınına yerleştirildiği durumları düzgün şekilde işliyor ve bu parçaya geri dönüldüğünde "No view found for id" (Kimlik için görünüm bulunamadı) sorunlarını önlüyor. (I94608)FragmentTransaction.addyöntemiyle eklenen veViewGroupalanını kullanan parçalar,onStart()'e geçmeden önceonContainerAvailable'yi bekler. Bu durum,AndroidFragmentgibi API kullanıcılarını etkiler.AndroidFragmentartıkAndroidFragmentöğesinionStart()üzerinden taşımadan önce yeniden oluşturulmasını bekler. (I94608)
Sürüm 1.8.1
26 Haziran 2024
androidx.fragment:fragment-*:1.8.1 iptal edilir. 1.8.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Kapsayıcısı olmayan parçaların, tahmin edilen geri gitme hareketi başlatıldığında hemen
DESTROYEDolmasına neden olan sorun düzeltildi. Artık hareket tamamlanana kadarCREATEDdurumunda tutuluyor. (If6b83, b/345244539)
Sürüm 1.8.0
12 Haziran 2024
androidx.fragment:fragment-*:1.8.0 iptal edilir. 1.8.0 sürümü bu commit'leri içerir.
1.7.0 sürümünden beri yapılan önemli değişiklikler
fragment-composeyapısı artık, parça sınıfı adı aracılığıyla Compose hiyerarşisine parça eklenmesine olanak tanıyan birAndroidFragmentComposableiçeriyor. Fragment'ın durumunun kaydedilmesi ve geri yüklenmesi otomatik olarak işlenir. Bu yöntem, daha önce bir Fragment'i genişletmek içinAndroidViewBindingkullanılması önerilen yaklaşımın doğrudan yerine kullanılmalıdır.onBackStackChangeCancelledFragmentManager'ninOnBackStackChangedListenerarayüzündeki geri çağırma işlevi artıkFragmentManager'de işlemler yürütülürken tetikleniyor veonBackStackChangeCommittedgeri çağırma işlevinin zamanlamasına daha yakın hale geliyor.
Sürüm 1.8.0-rc01
29 Mayıs 2024
androidx.fragment:fragment-*:1.8.0-rc01 iptal edilir. 1.8.0-rc01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
FragmentManagers OnBackStackChangedListenerarayüzündekionBackStackChangeCancelledgeri çağırma işlevi artıkFragmentManager'de işlemler yürütülürken tetikleniyor veonBackStackChangeCommittedgeri çağırma işlevinin zamanlamasına daha yakın hale geliyor. (I5ebfb, b/332916112)
Sürüm 1.8.0-beta01
14 Mayıs 2024
androidx.fragment:fragment-*:1.8.0-beta01 iptal edilir. 1.8.0-beta01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Parça
1.7.1: Tahmin edilen geri gitme özelliği artık yalnızca tüm parçaların Animator veya Seekable Androidx Transition'a sahip olduğu işlemlerde çalışacak. Bu düzeltme, kısmen aranabilir bir işlemin iptal edilmesinin siyah ekrana neden olduğu sorunu giderir. (I43037, b/339169168)
Sürüm 1.8.0-alpha02
17 Nisan 2024
androidx.fragment:fragment-*:1.8.0-alpha02 iptal edilir. 1.8.0-alpha02 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Parça
1.7.0-rc02: Başka geçiş olmadansharedElementayarlanmasının neden çalışmayacağını belirten günlükler eklendi. (Iec48e) - Parça
1.7.0-rc02: Diğer tüm geçişlerin aranabilir olduğu işlemlere aranabilir olmayan bir paylaşılan öğe eklendiğinde kilitlenmeye neden olan hata düzeltildi. Artık işlem doğru şekilde aranabilir olmayan olarak kabul edilecek. (I18ccd)
Sürüm 1.8.0-alpha01
3 Nisan 2024
androidx.fragment:fragment-*:1.8.0-alpha01 iptal edilir. 1.8.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
- Yeni
AndroidFragmentComposable, parça sınıfı adı aracılığıyla Compose hiyerarşisine parça eklenmesine olanak tanır. Fragment'ın durumunun kaydedilmesi ve geri yüklenmesi otomatik olarak işlenir. Bu, AndroidViewBindingComposableiçin doğrudan bir yedek olarak kullanılabilir.(b/312895363, Icf841)
Belgelerdeki Değişiklikler
OnBackStackChangedListenerAPI'lerinin ne zaman çağrıldığı ve nasıl kullanılması gerektiğiyle ilgili dokümanlar güncellendi. (I0bfd9)
Bağımlılık güncellemesi
- Fragment artık Profile Installer 1.3.1'e bağlıdır.
Sürüm 1.7
Sürüm 1.7.1
14 Mayıs 2024
androidx.fragment:fragment-*:1.7.1 iptal edilir. 1.7.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Tahmin edilen geri gitme özelliği artık yalnızca tüm parçaların Animator veya Seekable Androidx Transition'a sahip olduğu işlemlerde çalışacak. Bu düzeltme, kısmen aranabilir bir işlemin iptal edilmesinin boş ekrana neden olduğu sorunu giderir. (I43037, b/339169168)
Sürüm 1.7.0
1 Mayıs 2024
androidx.fragment:fragment-*:1.7.0 iptal edilir. 1.7.0 sürümü bu commit'leri içerir.
Tahmini Geri Hareket Desteği
- Parçalar artık
Animatorkullanılırken veya AndroidX Transition 1.5.0 kullanılırken uygulama içi tahmini geri özelliğini destekliyor. Bu sayede kullanıcılar, işlemi hareketi tamamlayarak onaylamaya veya iptal etmeye karar vermeden önce Animator/Transition'ınızı arayarak önceki parçayı görmek için geri hareketini kullanabilir.
| Geçiş Sistemi | XML Kaynağı | Tahmin edilen geri gitme özelliğini destekler |
|---|---|---|
Animation |
R.anim |
Hayır |
Animator |
R.animator |
Evet |
Framework Transition |
R.transition |
Hayır |
Transition 1.4.1 veya daha eski bir sürümle AndroidX Transition |
R.transition |
Hayır |
AndroidX Transition ve Transition 1.5.0 |
R.transition |
Evet |
Tahmin edilen geri gitme hareketini etkinleştirdikten sonra Fragment'lerde tahmin edilen geri gitme desteğiyle ilgili sorunlar görürseniz lütfen sorununuzu yeniden üreten örnek bir projeyle birlikte Fragment'e karşı bir sorun bildirin. Etkinliğinizin onCreate() bölümündeki FragmentManager.enabledPredictiveBack(false) simgesini kullanarak tahmin edilen geri gitme özelliğini devre dışı bırakabilirsiniz.
FragmentManager.OnBackStackChangedListener(), artık sırasıyla tahmini geri gitme ilerlemesi ve iptal edilen etkinlikleri almak için onBackStackChangeProgressed() ve onBackStackChangeCancelled() değerlerini sağlıyor.
Fragment Compose Artifact
Fragment tabanlı mimariden tamamen Compose tabanlı mimariye geçiş sürecinde olan uygulamaları desteklemeye odaklanan yeni bir fragment-compose yapısı oluşturuldu.
Bu yeni yapıda kullanıma sunulan ilk özellik, content üzerinde bir uzantı yöntemidir Fragment. Bu yöntem, sizin için bir ComposeView oluşturup doğru ViewCompositionStrategy'yi ayarlayarak Compose'u tek bir Fragment'ın kullanıcı arayüzünde kullanmayı kolaylaştırmayı amaçlar.
class ExampleFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) = content {
// Write your @Composable content here
val viewModel: ExampleViewModel = viewModel()
// or extract it into a separate, testable method
ExampleComposable(viewModel)
}
}
Sürüm 1.7.0-rc02
17 Nisan 2024
androidx.fragment:fragment-*:1.7.0-rc02 iptal edilir. 1.7.0-rc02 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Başka geçişler olmadan
sharedElementayarlanmasının neden çalışmayacağını belirten günlükler eklendi. (Iec48e) - Aranabilir olmayan bir paylaşılan öğe, diğer tüm geçişlerin aranabilir olduğu bir işleme eklendiğinde kilitlenmeye neden olan hata düzeltildi. Artık işlem doğru şekilde aranabilir olmayan olarak kabul edilecek. (I18ccd)
Sürüm 1.7.0-rc01
3 Nisan 2024
androidx.fragment:fragment-*:1.7.0-rc01 iptal edilir. 1.7.0-rc01 sürümü bu commit'leri içerir.
Bağımlılık güncellemesi
- Fragment artık Profile Installer 1.3.1'e bağlıdır.
Sürüm 1.7.0-beta01
20 Mart 2024
androidx.fragment:fragment-*:1.7.0-beta01 iptal edilir. 1.7.0-beta01 sürümü bu commit'leri içerir.
API Değişiklikleri
FragmentHostCallbackartık Kotlin'de yazılıyor. Böylece, Host'un genel türünün null değer alabilme özelliği,onGetHost()'nin dönüş türünün null değer alabilme özelliğiyle eşleşiyor. (I40af5)
Hata Düzeltmeleri
- Bir kapsayıcıda bulunmayan bir parçada tahmin edilen geri gitme hareketini onaylarken parçanın hiçbir zaman yok edilmemesine neden olan sorun düzeltildi. Parça artık hemen son duruma taşınacak. (Ida0d9)
- Parçalarda, gelen geçişlerin tahmin edilen geri gitme hareketiyle kesintiye uğratılması durumunda giriş görünümünün yok olmasına ve boş ekran gösterilmesine neden olan sorun düzeltildi. (Id3f22, b/319531491)
Sürüm 1.7.0-alpha10
7 Şubat 2024
androidx.fragment:fragment-*:1.7.0-alpha10 iptal edilir. 1.7.0-alpha10 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Önceki Fragment sürümünde bilinen bir sorun düzeltildi. Bu sorunda, Fragment'ın
Animatorveya AndroidX Transition için tahmini geri gitme desteği kullanılırkenaddOnBackStackChangedListenerüzerinden hiçFragmentManager.OnBackStackChangedListenereklenmemişse Fragment'larhandleOnBackProgressed'danNullPointerExceptionatıyordu. (I7c835)
Sürüm 1.7.0-alpha09
24 Ocak 2024
androidx.fragment:fragment-*:1.7.0-alpha09 iptal edilir. 1.7.0-alpha09 sürümü şu commit'leri içerir.
Fragment Compose Artifact
Fragment tabanlı mimariden tamamen Compose tabanlı mimariye geçiş sürecinde olan uygulamaları desteklemeye odaklanan yeni bir fragment-compose yapısı oluşturuldu.
Bu yeni yapıda kullanıma sunulan ilk özellik, content üzerinde bir uzantı yöntemidir Fragment. Bu yöntem, sizin için bir ComposeView oluşturup doğru ViewCompositionStrategy'yi ayarlayarak Compose'u tek bir Fragment'ın kullanıcı arayüzünde kullanmayı kolaylaştırmayı amaçlar. (561cb7, b/258046948)
class ExampleFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) = content {
// Write your @Composable content here
val viewModel: ExampleViewModel = viewModel()
// or extract it into a separate, testable method
ExampleComposable(viewModel)
}
}
Yeni Özellikler
FragmentManager.OnBackStackChangedListener(), artık sırasıyla tahmini geri gitme ilerlemesi ve iptal edilen etkinlikleri almak içinonBackStackChangeProgressed()veonBackStackChangeCancelled()değerlerini sağlıyor. (214b87)
Bilinen Sorun
Animatorveya AndroidX Geçişi için Fragment'ın Tahmin Edilen Geri Gitme desteği kullanılırkenaddOnBackStackChangedListeneraracılığıyla hiçFragmentManager.OnBackStackChangedListenereklenmemişse Fragment'lar,handleOnBackProgressedkonumundanNullPointerExceptionhatası verir. İşleyiciyi manuel olarak eklemek, kilitlenmeyi önler. Bu sorun, Fragments'ın sonraki sürümünde düzeltilecektir.
Sürüm 1.7.0-alpha08
10 Ocak 2024
androidx.fragment:fragment-*:1.7.0-alpha08 iptal edilir. 1.7.0-alpha08 sürümü şu commit'leri içerir.
Temizleme
- Transition
1.5.0-alpha06'da düzeltilen Transition kitaplığı için geçici çözüm kaldırıldı. (I04356)
Sürüm 1.7.0-alpha07
29 Kasım 2023
androidx.fragment:fragment-*:1.7.0-alpha07 iptal edilir. 1.7.0-alpha07 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Paylaşılan öğe geçişi ayarlanıp enter/exitTransition ayarlanmadığı için oluşan
NullPointerExceptiondüzeltildi. (I8472b) - Parça
1.6.2:FragmentContainerViewöğesinin parçası şişirildiğindeFragmentManager, Host ve id gibi durumlarına artıkonInflategeri çağırmasında erişilebilir. (I1e44c, b/307427423) - Fragment
1.6.2öğesinden: Bir dizi parçayı kaldırmak içinclearBackStackkullanılırken artık üst parçanınViewModelsöğeleri temizlendiğinde iç içe yerleştirilmiş Fragment'ınViewModelöğeleri de temizlenecek. (I6d83c, b/296173018)
Sürüm 1.7.0-alpha06
4 Ekim 2023
androidx.fragment:fragment-*:1.7.0-alpha06 iptal edilir. 1.7.0-alpha06 sürümü şu commit'leri içerir.
Bağımlılık Güncellemesi
- Parçalar, Geçiş
1.5.0-alpha04'te eklenen yenianimateToStartAPI'ye bağlı olacak şekilde güncellendi.
Sürüm 1.7.0-alpha05
20 Eylül 2023
androidx.fragment:fragment-*:1.7.0-alpha05 iptal edilir. 1.7.0-alpha05 sürümü şu commit'leri içerir.
Yeni Özellikler
- Parçalar artık Androidx Transitions kullanılırken tahmin edilen geri gitme özelliğini destekliyor. Bu sayede, işlemi tamamlanmış hareketle onaylamaya veya iptal etmeye karar vermeden önce özel Androidx Geçişinizle önceki parçayı aramak için geri hareketini kullanabilirsiniz. Bu özelliği etkinleştirmek için Geçiş
1.5.0-alpha03sürümünü kullanmanız gerekir. (Ib49b4, b/285175724)
Bilinen Sorunlar
- Şu anda, bir geçişle geri hareketini bir kez iptal ettikten sonra, geri hareketini bir sonraki başlatışınızda geçişin çalışmaması ve boş bir ekranın görünmesiyle ilgili bir sorun var. Bu durum, Transition kitaplığındaki bir sorundan kaynaklanıyor olabilir. (b/300157785). Bu sorunla karşılaşırsanız lütfen sorununuzu yeniden üreten bir örnek proje ile Fragment'a karşı bir sorun bildirin. Etkinliğinizin
onCreate()bölümündekiFragmentManager.enabledPredictiveBack(false)simgesini kullanarak tahmin edilen geri gitme özelliğini devre dışı bırakabilirsiniz.
Sürüm 1.7.0-alpha04
6 Eylül 2023
androidx.fragment:fragment-*:1.7.0-alpha04 iptal edilir. 1.7.0-alpha04 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Tahmin edilen geri gitme hareketi iptal edildiğinde parçaların doğru yaşam döngüsü durumuna geçememesine neden olan sorun düzeltildi. (I7cffe, b/297379023)
- Animasyonların geçişlerle birlikte çalışmasına izin verilen gerileme sorunu düzeltildi. (I59f36)
- Geri yığında sondan bir önceki parçada hızlıca iki kez geri gitmeye çalışıldığında kilitlenmeye neden olan, parçalarla birlikte Tahmini Geri özelliğinin kullanılmasıyla ilgili sorun düzeltildi. (Ifa1a4)
Sürüm 1.7.0-alpha03
23 Ağustos 2023
androidx.fragment:fragment-*:1.7.0-alpha03 iptal edilir. 1.7.0-alpha03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Tahmin edilen geri gitme özelliği kullanılırken, parça yöneticisinin geri yığınındaki ilk parçanın atlanmasına ve 3 düğmeli gezinme veya tahmin edilen geri gitme hareketi aracılığıyla sistem geri gitme özelliği kullanılırken Etkinliğin tamamlanmasına neden olan parçalarla ilgili sorun düzeltildi. (I0664b, b/295231788)
Sürüm 1.7.0-alpha02
9 Ağustos 2023
androidx.fragment:fragment-*:1.7.0-alpha02 iptal edilir. 1.7.0-alpha02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- API 34'ten itibaren Tahmini Geri Hareketler ile Parçalar'ı kullanırken arama işlemini desteklemeyen (
Animations,Transitions) bir geçiş sistemi veya hiç geçiş kullanmıyorsanız Parçalar artık geri hareketini yürütmeden önce hareketin tamamlanmasını bekleyecektir. (I8100c)
Sürüm 1.7.0-alpha01
7 Haziran 2023
androidx.fragment:fragment-*:1.7.0-alpha01 iptal edilir. Bu sürüm dahili bir dalda geliştirilmiştir.
Yeni Özellikler
- Parçalar artık
Animatorkullanılırken uygulama içi tahmin edilen geri gitme özelliğini destekliyor. Bu sayede, işlemi tamamlanan hareketle onaylamaya veya iptal etmeye karar vermeden önce özel Animator'ınızla önceki parçayı görmek için geri hareketini kullanabilirsiniz. DeneyselenablePredictiveBack()özelliğini kullanıpfalsedeğerini ileterek de bu yeni davranışı devre dışı bırakabilirsiniz.
Sürüm 1.6
Sürüm 1.6.2
1 Kasım 2023
androidx.fragment:fragment-*:1.6.2 iptal edilir. 1.6.2 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
FragmentContainerViewFragment'i genişletildiğindeFragmentManager, Host ve id gibi durumlarına artıkonInflategeri çağırma işlevinde erişilebilir. (I1e44c, b/307427423)- Bir dizi parçayı kaldırmak için
clearBackStackkullanılırken, üst parçanınViewModelstemizlendiğinde artık iç içe yerleştirilmiş parçalarınViewModelde temizlenecek. (I6d83c, b/296173018)
Sürüm 1.6.1
26 Temmuz 2023
androidx.fragment:fragment-*:1.6.1 iptal edilir. 1.6.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Etkinlik durdurulduğunda ancak yok edilmediğinde depolanan kaydedilmiş durumun, parça örneği
RESUMEDdurumuna geri taşındıktan sonra bile yanlış şekilde önbelleğe alınmasına neden olan sorun düzeltildi. Bu durum, birden fazla geri yığın API'si kullanılarak söz konusu parçayı kaydedip geri yüklerken parçanın örneği geri yığında bulunuyorsa önbelleğe alınan durumun yeniden kullanılmasına neden olur. (I71288, b/246289075)
Bağımlılık Güncellemesi
- Fragment artık Activity 1.7.2'ye bağlıdır. Bu düzeltme, Kotlin kullanıcılarının
ComponentDialogöğesini Activity'ye açıkça bağımlı olmadan genişletememesine neden olan sorunu giderir. (b/287509323)
Sürüm 1.6.0
7 Haziran 2023
androidx.fragment:fragment-*:1.6.0 iptal edilir. 1.6.0 sürümü şu commit'leri içerir.
1.5.0 sürümünden beri yapılan önemli değişiklikler
Fragment'ların kaydedilmiş durumu tamamen özel kitaplık durumu (özelParcelablesınıfları) ve geliştirici tarafından sağlanan durum arasında bölünmüştür. Geliştirici tarafından sağlanan durum artık her zaman bir parçanın durumunun tam olarak nereden kaynaklandığını belirlemeye olanak tanıyan birBundleiçinde depolanır.FragmentManager.OnBackStackChangedListenerarayüzü,onBackStackChangeStartedveonBackStackChangeCommittedolmak üzere iki ek geri çağırma ile genişletildi. Bu geri çağırmalar, herFragmentile birlikte sırasıyla parçanın eski yığına eklenmeden/yığına eklenmeden hemen önce ve işlem onaylandıktan hemen sonra çağrılır.FragmentStrictMode, bir alt parçanın üst öğesinin görünüm hiyerarşisine yerleştirildiğini ancak üst öğeninchildFragmentManageröğesine eklenmediğini algılayan yeni birWrongNestedHierarchyViolationekledi.IntentveyaIntentSenderalanını kullananFragmentveFragmentManagerAPI'leri artık@NonNullile düzgün şekilde açıklama eklenmiş durumda. Bunun nedeni, boş değerin her zaman ilgili Android çerçeve API'lerinin bu yöntemleri çağırmasına neden olmasıdır.DialogFragmentartıkrequireComponentDialog()API'si aracılığıyla temelComponentDialog'ye erişim sağlıyor.- Fragment artık Lifecycle
2.6.1'a bağlıdır. - Fragment artık SavedState
1.2.1'e bağlıdır. - Fragment artık ProfileInstaller
1.3.0'a bağlıdır. fragment-testing-manifestyapısı, manifest girişlerini parça testi bileşenlerinin geri kalanından ayırır. Bu durumda şunları yapabilirsiniz:debugImplementation("androidx.fragment:fragment-testing-manifest:X.Y.Z") androidTestImplementation("androidx.fragment:fragment-testing:X.Y.Z")Bu sayede
fragment-testingileandroidx.testarasındaki sürüm farklılığından kaynaklanan çakışmalar önlenir.
Sürüm 1.6.0-rc01
10 Mayıs 2023
androidx.fragment:fragment-*:1.6.0-rc01 iptal edilir. 1.6.0-rc01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Birden fazla
startActivityForResultisteği art arda gönderildiğindeActivityResult'ların yanlış istek koduyla gönderilmesine neden olan sorun düzeltildi. (If0b9d, b/249519359) onBackStackChangeListenergeri çağırmalarının, arka yığını gerçekten değiştiren işlemlerle karıştırıldığında arka yığını değiştirmeyen işlemler için gönderilmesine neden olan sorun düzeltildi. (I0eb5c, b/279306628)
Sürüm 1.6.0-beta01
19 Nisan 2023
androidx.fragment:fragment-*:1.6.0-beta01 iptal edilir. 1.6.0-beta01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
postponeEnterTransitionişlevini zaman aşımıyla kullanıp ertelenen parçayı değiştirmek artık ertelenen parçanın sızmasına neden olmuyor. (I2ec7d, b/276375110)- Yeni
onBackStackChangeStartedveonBackStackChangeCommittedgeri çağırmaları, birden fazla işlem aynı parçayı içerse bile artık yalnızca bir kez parça gönderir. (Ic6b69)
Sürüm 1.6.0-alpha09
5 Nisan 2023
androidx.fragment:fragment-*:1.6.0-alpha09 iptal edilir. 1.6.0-alpha09 sürümü şu commit'leri içerir.
API Değişiklikleri
DialogFragmentartıkrequireComponentDialog()API'si aracılığıyla temelComponentDialog'ye erişim sağlıyor. (I022e3, b/234274777)commitNow(),executePendingTransactions()vepopBackStackImmediate()parçası API'leri@MainThreadile açıklama eklenmiş olup artık çalışma zamanında başarısız olmayı beklemek yerine ana iş parçacığından çağrılmadıklarında derleme hataları verecekler. (Ic9665, b/236538905)
Hata Düzeltmeleri
FragmentManager'da aynı karede kaydetme ve geri yüklemenin kilitlenmeye neden olabildiği hata düzeltildi. (Ib36af, b/246519668)OnBackStackChangedListeneronBackStackChangeStartedveonBackStackChangeCommittedgeri çağırmaları artık yalnızcaFragmentManagergeri yığını değiştirildiğinde yürütülüyor. (I66055, b/274788957)
Sürüm 1.6.0-alpha08
22 Mart 2023
androidx.fragment:fragment-*:1.6.0-alpha08 iptal edilir. 1.6.0-alpha08 sürümü şu commit'leri içerir.
Davranış Değişikliği
OnBackStackChangedListener.onBackStackChangeCommitedGeri çağırma zamanlaması, parça işlemleri yürütülmeden önce yürütülecek şekilde ayarlandı. Bu, geri çağırma işlevine hiçbir zaman ayrılmış bir parça iletilmemesini sağlar. (I66a76, b/273568280)
Hata Düzeltmeleri
- Fragment
1.5.6:LifecyclezatenSTARTEDise ve sonuç zaten mevcutsasetFragmentResultListeneriçindeclearFragmentResultListenerçağrısının çalışmamasına neden olan sorun düzeltildi. (If7458)
Bağımlılık Güncellemeleri
- Fragment artık Lifecycle
2.6.1'a bağlıdır. (586fe7) - Fragment artık SavedState
1.2.1'e bağlıdır. (078e4e) - Fragment artık ProfileInstaller
1.3.0'a bağlıdır. (3fc05b)
Sürüm 1.6.0-alpha07
8 Mart 2023
androidx.fragment:fragment-*:1.6.0-alpha07 iptal edilir. 1.6.0-alpha07 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Fragment
1.5.6: Menü öğeleri eklenmiş olsun veya olmasın herhangi bir Fragment'in kaldırılmasının etkinliğin menüsünü geçersiz kılmasına neden olan sorun düzeltildi. (50f098, b/244336571)
Sürüm 1.6.0-alpha06
22 Şubat 2023
androidx.fragment:fragment-*:1.6.0-alpha06 iptal edilir. 1.6.0-alpha06 sürümü şu commit'leri içerir.
Davranış değişikliği
onBackStackChangedStartedFragmentManager'ninonBackStackChangedListenerüzerindeki yeni geri çağırma işlemi artık parçalar hedef durumlarına taşınmaya başlamadan önce yürütülecek. (I34726)
Sürüm 1.6.0-alpha05
8 Şubat 2023
androidx.fragment:fragment-*:1.6.0-alpha05 iptal edilir. 1.6.0-alpha05 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentManager.OnBackStackChagnedListenerarayüzü artıkFragmentManager'de geri yığın değişiklikleri gerçekleştiğinde ek bilgi ve kontrol sağlayan iki ek geri çağırma (onBackStackChangeStartedveonBackStackChangeCommitted) sunuyor. (Ib7ce5, b/238686802)
API Değişiklikleri
IntentveyaIntentSenderalanını kullananFragmentveFragmentManagerAPI'leri artık@NonNullile düzgün şekilde açıklama eklenmiş durumda. Bunun nedeni, boş değerin her zaman ilgili Android çerçeve API'lerinin hemen kilitlenmesine neden olmasıdır. (I06fd4)
Sürüm 1.6.0-alpha04
7 Aralık 2022
androidx.fragment:fragment-*:1.6.0-alpha04 iptal edilir. 1.6.0-alpha04 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentStrictMode, bir alt parçanın üst öğesinin görünüm hiyerarşisine yerleştirildiğini ancak üst öğeninchildFragmentManageröğesine eklenmediğini algılayan yeni birWrongNestedHierarchyViolationekledi. (I72521, b/249299268)
Davranış Değişiklikleri
- Parçalar artık
SavedStateRegistrydurumunuonAttach()öncesinde geri yüklüyor. Böylece, tüm yukarı yönlü yaşam döngüsü yöntemlerinde kullanılabilir. (I1e2b1)
API Değişiklikleri
fragment-testing-manifestyapısı, manifest girişlerini parça testi bileşenlerinin geri kalanından ayırır. Bu durumda şunları yapabilirsiniz:
debugImplementation("androidx.fragment:fragment-testing-manifest:X.Y.Z")
androidTestImplementation("androidx.fragment:fragment-testing:X.Y.Z")
Bu sayede, fragment-testing ve androidx.test arasındaki sürüm farklılığından kaynaklanan çakışmalar önlenir.(I8e534, b/128612536)
Hata Düzeltmeleri
- Fragment
1.5.5: Fragment'lar artıkViewModeldurumunu, görünüm kayıtlı durumunun bir parçası olarak yanlış şekilde kaydetmeyecek. (I10d2b, b/253546214)
Sürüm 1.6.0-alpha03
5 Ekim 2022
androidx.fragment:fragment:1.6.0-alpha03, androidx.fragment:fragment-ktx:1.6.0-alpha03 ve androidx.fragment:fragment-testing:1.6.0-alpha03 özellikleri kullanıma sunulur. 1.6.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
DialogFragmentsınıfını genişleten sınıfların artıkonDismiss()geçersiz kılmalarında super'ı çağırması gerekecek. (I14798, b/238928865)
Hata Düzeltmeleri
- Parçaların her zaman uygun geri çağırmaları almasını sağlamak için yeni sağlayıcı geri çağırma arayüzlerinin (
OnConfigurationChangedProvider,OnMultiWindowModeChangedProvider,OnTrimMemoryProvider,OnPictureInPictureModeChangedProvider) entegrasyonundan kaynaklanan gerilemeler düzeltildi. (I9b380,I34581, (I8dfe6, b/242570955),If9d6b,Id0096,I690b3,I2cba2)
Sürüm 1.6.0-alpha02
24 Ağustos 2022
androidx.fragment:fragment:1.6.0-alpha02, androidx.fragment:fragment-ktx:1.6.0-alpha02 ve androidx.fragment:fragment-testing:1.6.0-alpha02 özellikleri kullanıma sunulur. 1.6.0-alpha02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Parça
1.5.2: Aynı andapopBackStack()vereplace()işlemlerinin yürütülmesinin, çıkış parçalarının yanlışAnimation/Animator'yi çalıştırmasına neden olabildiği sorun düzeltildi. (Ib1c07, b/214835303)
Sürüm 1.6.0-alpha01
27 Temmuz 2022
androidx.fragment:fragment:1.6.0-alpha01, androidx.fragment:fragment-ktx:1.6.0-alpha01 ve androidx.fragment:fragment-testing:1.6.0-alpha01 özellikleri kullanıma sunulur. 1.6.0-alpha01 sürümü şu commit'leri içerir.
Davranış Değişiklikleri
Fragment'ların kaydedilmiş durumu tamamen özel kitaplık durumu (özelParcelablesınıfları) ve geliştirici tarafından sağlanan durum arasında bölünmüştür. Geliştirici tarafından sağlanan durum artık her zaman bir parçanın durumunun tam olarak nereden kaynaklandığını belirlemeye olanak tanıyan birBundleiçinde depolanır. (b/207158202)
Hata Düzeltmeleri
- Fragment
1.5.1: AGP 7.4 ile birlikte gelen lint sürümünün kullanılması durumunda lint'in kilitlenmesine neden olanDialogFragmentCallbacksDetector'deki regresyon düzeltildi. (b/237567009)
Bağımlılık güncellemesi
- Fragment
1.5.1: Fragment kitaplığı artık Lifecycle2.5.1kitaplığına bağlıdır. (Id204c) - Fragment
1.5.1: Fragment kitaplığı artık Activity1.5.1'ye bağlı. (I10f07)
Sürüm 1.5
Sürüm 1.5.7
19 Nisan 2023
androidx.fragment:fragment:1.5.7, androidx.fragment:fragment-ktx:1.5.7 ve androidx.fragment:fragment-testing:1.5.7 özellikleri kullanıma sunulur. 1.5.7 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
postponeEnterTransitionişlevini zaman aşımıyla kullanıp ertelenen parçayı değiştirmek artık ertelenen parçanın sızmasına neden olmuyor. (I2ec7d, b/276375110)
Sürüm 1.5.6
22 Mart 2023
androidx.fragment:fragment:1.5.6, androidx.fragment:fragment-ktx:1.5.6 ve androidx.fragment:fragment-testing:1.5.6 özellikleri kullanıma sunulur. 1.5.6 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Menü öğeleri eklenmiş olsun veya olmasın herhangi bir Fragment'ın kaldırılması durumunda etkinliğin menüsünün geçersiz olmasına neden olan sorun düzeltildi. (50f098, b/244336571)
clearFragmentResultListeneröğesininsetFragmentResultListeneriçinde çağrılması durumunda,Lifecycleöğesi zatenSTARTEDise ve sonuç zaten mevcutsa çalışmamasına neden olan sorun düzeltildi. (If7458)
Sürüm 1.5.5
7 Aralık 2022
androidx.fragment:fragment:1.5.5, androidx.fragment:fragment-ktx:1.5.5 ve androidx.fragment:fragment-testing:1.5.5 özellikleri kullanıma sunulur. 1.5.5 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Parçalar artık
ViewModeldurumunu, görünüm kayıt defterinin kayıtlı durumu olarak yanlış şekilde kaydetmeyecek. (I10d2b, b/253546214)
Sürüm 1.5.4
24 Ekim 2022
androidx.fragment:fragment:1.5.4, androidx.fragment:fragment-ktx:1.5.4 ve androidx.fragment:fragment-testing:1.5.4 özellikleri kullanıma sunulur. 1.5.4 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Bir sağlayıcı geri çağırma arayüzü (
OnConfigurationChangedProvider,OnMultiWindowModeChangedProvider,OnTrimMemoryProvider,OnPictureInPictureModeChangedProvider) uygulamayan bir ana makineyle özelFragmentControllerkullanıldığında ve bunun kullanımdan kaldırılan dispatch işlevi çağrıldığında alt parçalara gönderimin başarısız olmasına neden olan hata düzeltildi. (I9b380)
Sürüm 1.5.3
21 Eylül 2022
androidx.fragment:fragment:1.5.3, androidx.fragment:fragment-ktx:1.5.3 ve androidx.fragment:fragment-testing:1.5.3 yayınlandı. 1.5.3 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Geri yığında bulunan parçaların
onMultiWindowModeChanged(),onPictureInPictureModeChanged(),onLowMemory()veonConfigurationChanged()geri çağırmalarını almasına neden olan hata düzeltildi. (I34581, I8dfe6, b/242570955) - İç içe yerleştirilmiş alt parçalar artık birden fazla
onMultiWindowModeChanged(),onPictureInPictureModeChanged(),onLowMemory()veyaonConfigurationChanged()geri çağırma işlemi almayacak. (I690b3, Id0096, If9d6b, I2cba2)
Sürüm 1.5.2
10 Ağustos 2022
androidx.fragment:fragment:1.5.2, androidx.fragment:fragment-ktx:1.5.2 ve androidx.fragment:fragment-testing:1.5.2 yayınlandı. 1.5.2 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Aynı anda
popBackStack()vereplace()işlemi yürütmenin, çıkış yapan parçaların yanlışAnimation/Animatorçalıştırmasına neden olabildiği sorun düzeltildi. (Ib1c07, b/214835303)
Sürüm 1.5.1
27 Temmuz 2022
androidx.fragment:fragment:1.5.1, androidx.fragment:fragment-ktx:1.5.1 ve androidx.fragment:fragment-testing:1.5.1 özellikleri kullanıma sunulur. 1.5.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- AGP 7.4 ile birlikte gelen hata analizi sürümünün kullanılması durumunda hata analizinin kilitlenmesine neden olan
DialogFragmentCallbacksDetectorile ilgili regresyon düzeltildi. (b/237567009)
Bağımlılık güncellemesi
- Fragment kitaplığı artık Lifecycle
2.5.1'a bağlıdır. (Id204c) - Fragment kitaplığı artık Activity
1.5.1'ye bağlı. (I10f07)
Sürüm 1.5.0
29 Haziran 2022
androidx.fragment:fragment:1.5.0, androidx.fragment:fragment-ktx:1.5.0 ve androidx.fragment:fragment-testing:1.5.0 özellikleri kullanıma sunulur. 1.5.0 sürümü şu commit'leri içerir.
1.4.0 sürümünden beri yapılan önemli değişiklikler
- CreationExtras Entegrasyonu -
Fragmentartık Lifecycle2.5.0'ınCreationExtrasaracılığıyla durum bilgisi içermeyenViewModelProvider.Factorysağlayabilir. - Bileşen iletişim kutusu entegrasyonu:
DialogFragmentartıkonCreateDialog()tarafından döndürülen varsayılan iletişim kutusu olarak Activity1.5.0aracılığıylaComponentDialogkullanıyor. - Kaydedilmiş örnek durumu yeniden düzenleme: Parçalar, örnek durumlarını kaydetme şekillerini değiştirmeye başladı. Bu, parçada hangi durumun kaydedildiğini ve durumun kaynağını net bir şekilde belirlemeye yardımcı olmak için yapılan bir çalışmadır. Mevcut değişiklikler şunlardır:
FragmentManagerartık kaydedilen örnek durumunu doğrudan özel birParcelableiçine değil,Bundleiçine kaydediyor.Fragment Result APIsaracılığıyla ayarlanan ve henüz teslim edilmemiş sonuçlar artıkFragmentManager'nin dahili durumundan ayrı olarak kaydediliyor.- Artık her bir parçayla ilişkili durum,
FragmentManageröğesinin dahili durumundan ayrı olarak kaydedilir. Böylece, tek bir parçayla ilişkili kaydedilmiş durum miktarını,FragmentManagerhata ayıklama günlüğünde bulunan benzersiz kimliklerle ilişkilendirebilirsiniz.Fragment
Diğer Değişiklikler
FragmentStrictModeartık özel üçüncü taraf parçalarının, sınıf adıyla birlikteallowViolation()kullanarak belirli ihlal cezalarını atlamasına olanak tanıyor.- Etkinliğinizin
ActionBarmenüsünü sağlamak için kullanılan Fragment API'leri kullanımdan kaldırıldı. Activity1.4.0'de eklenenMenuHostveMenuProviderAPI'leri, parçaların kullanması gereken, test edilebilir ve yaşam döngüsüne duyarlı eşdeğer bir API yüzeyi sağlar.
Sürüm 1.5.0-rc01
11 Mayıs 2022
androidx.fragment:fragment:1.5.0-rc01, androidx.fragment:fragment-ktx:1.5.0-rc01 ve androidx.fragment:fragment-testing:1.5.0-rc01 özellikleri kullanıma sunulur. 1.5.0-rc01 sürümü şu commit'leri içerir.
Kayıtlı örnek durumu yeniden düzenleme
- Her bir parçayla ilişkili durum artık
FragmentManager'nın dahili durumundan ayrı olarak kaydedilir. Böylece, tek bir parçayla ilişkili kaydedilmiş durum miktarını Parça hata ayıklama günlüğünde bulunan benzersiz kimliklerle ilişkilendirebilirsiniz. (a153e0, b/207158202)
Sürüm 1.5.0-beta01
20 Nisan 2022
androidx.fragment:fragment:1.5.0-beta01, androidx.fragment:fragment-ktx:1.5.0-beta01 ve androidx.fragment:fragment-testing:1.5.0-beta01 özellikleri kullanıma sunulur. 1.5.0-beta01 sürümü şu commit'leri içerir.
API Değişiklikleri
DialogFragment,showNowişleviyle eşitlik içincommitNowkullanan yeni birdismissNowyöntemi ekledi. Bu işleminDialogöğesini hemen kapatmayacağını, yalnızcaFragmentManageröğesinin durumunu eşzamanlı olarak güncelleyeceğini unutmayın. (I15c36, b/72644830)
Kayıtlı örnek durumu yeniden düzenleme
FragmentManagerartık kaydedilen örnek durumunu doğrudan özel birParcelableiçine değil,Bundleiçine kaydediyor. Bu, Fragments tarafından gerçekten kaydedilenler konusunda daha fazla şeffaflık sağlamanın ilk adımıdır. (I93807, b/207158202)- Parça Sonuç API'leri aracılığıyla ayarlanan ve henüz teslim edilmemiş sonuçlar artık
FragmentManager'nin dahili durumundan ayrı olarak kaydediliyor. Bu sayede, kaydedilmiş örnek durumunuzun bir parçası olarak hangi sonuçların kaydedildiği konusunda daha fazla şeffaflık sağlanır. (I6ea12, b/207158202)
Sürüm 1.5.0-alpha05
6 Nisan 2022
androidx.fragment:fragment:1.5.0-alpha05, androidx.fragment:fragment-ktx:1.5.0-alpha05 ve androidx.fragment:fragment-testing:1.5.0-alpha05 özellikleri kullanıma sunulur. 1.5.0-alpha05 sürümü şu commit'leri içerir.
API Değişiklikleri
Fragment'nınsetHasOptionsMenu()desteği sonlandırıldı. Menüleri ve menü öğelerini yönetmek için Fragment1.5.0-alpha04sürüm notlarında belirtildiği gibi yeni menü API'leri kullanılmalıdır. (I7b4b4, b/226438239)
Sürüm 1.5.0-alpha04
23 Mart 2022
androidx.fragment:fragment:1.5.0-alpha04, androidx.fragment:fragment-ktx:1.5.0-alpha04 ve androidx.fragment:fragment-testing:1.5.0-alpha04 özellikleri kullanıma sunulur. 1.5.0-alpha04 sürümü şu commit'leri içerir.
API Değişiklikleri
- Etkinliğinizin
ActionBariçin menü sağlayan Fragment API'leri, parçanızı etkinliğinize sıkı bir şekilde bağladığı ve tek başına test edilemediği için kullanımdan kaldırıldı. Activity1.4.0-alpha01'de eklenenMenuHostveMenuProviderAPI'leri, parçaların kullanması gereken, test edilebilir ve yaşam döngüsüne duyarlı eşdeğer bir API yüzeyi sağlar. (I50a59, I20758)
Hata Düzeltmeleri
SavedStateViewFactoryartıkSavedStateRegistryOwnerile başlatılmış olsa bileCreationExtraskullanımını destekliyor. Ekstralar sağlanırsa başlatılan bağımsız değişkenler yoksayılır. (I6c43b, b/224844583)
Sürüm 1.5.0-alpha03
23 Şubat 2022
androidx.fragment:fragment:1.5.0-alpha03, androidx.fragment:fragment-ktx:1.5.0-alpha03 ve androidx.fragment:fragment-testing:1.5.0-alpha03 özellikleri kullanıma sunulur. 1.5.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
- Artık
CreationExtrasdeğeriniby viewModels()veby activityViewModels()işlevlerine iletebilirsiniz. (Ibefe7, b/217601110)
Davranış Değişiklikleri
DialogFragmentartıkonCreateDialog()tarafından döndürülen varsayılan iletişim kutusu olarakComponentDialogkullanıyor. (If3784, b/217618170)
Sürüm 1.5.0-alpha02
9 Şubat 2022
androidx.fragment:fragment:1.5.0-alpha02, androidx.fragment:fragment-ktx:1.5.0-alpha02 ve androidx.fragment:fragment-testing:1.5.0-alpha02 özellikleri kullanıma sunulur. 1.5.0-alpha02 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentStrictModeartık özel üçüncü taraf parçalarının, sınıf adıyla birlikteallowViolation()kullanarak belirli ihlal cezalarını atlamasına olanak tanıyor. (I8f678)
Sürüm 1.5.0-alpha01
26 Ocak 2022
androidx.fragment:fragment:1.5.0-alpha01, androidx.fragment:fragment-ktx:1.5.0-alpha01 ve androidx.fragment:fragment-testing:1.5.0-alpha01 özellikleri kullanıma sunulur. 1.5.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
Fragmentartık Lifecycle2.5.0-alpha01kapsamında kullanıma sunulan ViewModel CreationExtras ile entegre ediliyor. (I3060b, b/207012585)
Hata Düzeltmeleri
- Parça
1.4.1:FragmentContainerView, XML'den oluşturulan görünüm kimlikleri negatif değerlere sahip olduğunda artık yasa dışı durum istisnası oluşturmuyor. (Ic185b, b/213086140) - Parçadan
1.4.1:by viewModels()lazy işleviyle özel birownerProducerlambda kullanılırken artık her zaman parçanın fabrikasını kullanmak yerine özel birViewModelProvider.Factorysağlanmazsa söz konusu sahibindefaultViewModelProviderFactoryöğesi kullanılacak. (I56170, b/214106513) FragmentöğesininregisterForActivityResult()geri çağırmasından ilk kezViewModelöğesine erişirken yaşanan kilitlenme sorunu düzeltildi. (Iea2b3)
Sürüm 1.4
Sürüm 1.4.1
26 Ocak 2022
androidx.fragment:fragment:1.4.1, androidx.fragment:fragment-ktx:1.4.1 ve androidx.fragment:fragment-testing:1.4.1 özellikleri kullanıma sunulur. 1.4.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
FragmentContainerView, XML'den oluşturulan görünüm kimlikleri negatif değerlere sahip olduğunda artık yasa dışı durum istisnası oluşturmuyor. (Ic185b, b/213086140)by viewModels()lazy işleviyle özel birownerProducerlambda kullanılırken artık her zaman parçanın fabrika işlevini kullanmak yerine özel birViewModelProvider.Factorysağlanmazsa söz konusu sahibindefaultViewModelProviderFactoryişlevi kullanılır. (I56170, b/214106513)
Sürüm 1.4.0
17 Kasım 2021
androidx.fragment:fragment:1.4.0, androidx.fragment:fragment-ktx:1.4.0 ve androidx.fragment:fragment-testing:1.4.0 özellikleri kullanıma sunulur. 1.4.0 sürümü şu commit'leri içerir.
1.3.0 sürümünden beri yapılan önemli değişiklikler
FragmentStrictModeAPI'leri, uygulamanızın veya bağlı olduğunuz kitaplıkların kullanımdan kaldırılan parça API'lerini çağırmadığını doğrulamanıza olanak tanıyan çalışma zamanı kontrolleri sağlar. İhlal tespit edildiğinde bir günlük mesajı yazdırmayı, kendi özel dinleyicinizi tetiklemeyi veya uygulamanızın kilitlenmesini seçebilirsiniz. Hangi kontrollerin etkinleştirileceğini ve hangi "cezaların" tetikleneceğini kontrol edenFragmentStrictMode.Policy, yenisetStrictModePolicy()yöntemiyleFragmentManagerüzerinde ayarlanabilir. Bu politika, söz konusuFragmentManageriçin ve kendi benzersiz politikasını ayarlamayan tüm alt parça yöneticileri için geçerlidir. Parçalar için StrictMode başlıklı makaleyi inceleyin.FragmentContainerViewartık kapsayıcıya en son eklenen parçayı döndüren birgetFragment()yöntemi sunuyor. Bu işlev,FragmentContainerViewkimliğiylefindFragmentById()ile aynı mantığı kullanır ancak çağrının zincirlenmesine izin verir.val navController = binding.container.getFragment<NavHostFragment>().navControllerFragmentScenarioartıkCloseable'yi uyguluyor. Bu sayede, Kotlin'inuseyöntemi veya try-with-resources ile kullanabilirsiniz.Eklendi
FragmentTransaction#TRANSIT_FRAGMENT_MATCH_ACTIVITY_{OPEN, CLOSE}Temanızdan alınan standart Etkinlik geçişi animasyonunun Parçalar geçişinde etkinleştirilip etkinleştirilmeyeceğini belirtmek için.FragmentManager.enableNewStateManager(boolean)deneysel API'si kaldırıldı ve artık yalnızca yeni durum yöneticisi kullanılabiliyor.
Birden fazla geri yığın
FragmentManager, addToBackStack() kullanılan parça işlemlerinden oluşan bir geri yığın tutar. Bu sayede, Durumu parçalarla kaydetme mekanizmalarını kullanarak bu işlemleri pop edebilir ve önceki duruma dönebilirsiniz. Böylece parçalarınız durumlarını uygun şekilde geri yükleyebilir.
Bu sürüm, FragmentManager, saveBackStack(String name) ve restoreBackStack(String name) olmak üzere üç yeni clearBackStack(String name) API'si sunarak bu mekanizmaları genişletir. Bu API'ler, name ile aynı addToBackStack()'yi kullanarak FragmentTransaction'nin durumunu ve bu işlemlerde eklenen her parçanın durumunu kaydeder. Böylece, bu işlemleri ve parçalarını daha sonra durumları bozulmadan geri yükleyebilirsiniz. Bu sayede, geçerli geri yığını kaydedip kaydedilmiş bir geri yığını geri yükleyerek birden fazla geri yığın arasında etkili bir şekilde "geçiş" yapabilirsiniz.
saveBackStack(), popBackStack() ile benzer şekilde çalışır. Yani eşzamansızdır ve bu ada geri dönen tüm parça işlemlerinin geri alınmasına ("popped") ve eklenen tüm parçaların yok edilip kaldırılmasına neden olur. Ancak birkaç önemli açıdan farklılık gösterir:
saveBackStack()her zaman dahil edilir.- Belirtilen ad geri yığında bulunmazsa veya null ad sağlanırsa geri yığındaki tüm işlemleri açan
popBackStack()'dan farklı olarak, daha önceaddToBackStack()ile tam olarak aynı ve null olmayan bir ad kullanarak parça işlemi yapmadıysanızsaveBackStack()hiçbir işlem yapmaz. - Bu işlemlerden eklenen tüm parçaların durumu kaydedilir. Bu, her parçanın görünüm durumunun depolandığı, her parçanın
onSaveInstanceState()işlevinin çağrıldığı ve durumun geri yüklendiği, bu parçalarla ilişkili tümViewModelörneklerinin tutulduğu (ve bunlar üzerindeonCleared()işlevinin çağrılmadığı) anlamına gelir.
saveBackStack() ile kullanılabilen parça işlemlerin belirli ölçütleri karşılaması gerekir:
- İşlemlerin tek bir atomik işlem olarak geri yüklenebilmesi için her parça işleminde
setReorderingAllowed(true)kullanılmalıdır. - Kaydedilen işlemlerin daha sonraki bir zamanda geri yüklenebilmesi için kendi içinde tutarlı olması gerekir (yani, bu işlem kümesinin dışındaki parçalara açıkça referans vermemelidir). Bu sayede, arada geçen sürede geri yığında yapılan değişikliklerden bağımsız olarak işlemler geri yüklenebilir.
FragmentManager, geri yığın kaydedildikten sonra kaydedilmiş parçalara herhangi bir referans döndürmemesini sağlamak için kaydedilen hiçbir parça saklanan bir parça olamaz veya geçişli alt parça kümesinde saklanan bir parça bulunamaz.
saveBackStack(), restoreBackStack() ve clearBackStack()'ye benzer şekilde, sırasıyla önceden kaydedilmiş bir geri yığını geri yükleyecek veya önceden kaydedilmiş bir geri yığınını temizleyecek olan bu işlevler, daha önce aynı adla saveBackStack()'yı çağırmadıysanız hiçbir şey yapmaz.
Daha fazla bilgi için Birden fazla geri yığını: Ayrıntılı inceleme başlıklı makaleyi inceleyin.
Sürüm 1.4.0-rc01
3 Kasım 2021
androidx.fragment:fragment:1.4.0-rc01 Fragment 1.4.0-beta01'den herhangi bir değişiklik yapılmadan yayınlandı. 1.4.0-rc01 sürümü şu commit'leri içerir.
Sürüm 1.4.0-beta01
27 Ekim 2021
androidx.fragment:fragment:1.4.0-beta01, androidx.fragment:fragment-ktx:1.4.0-beta01 ve androidx.fragment:fragment-testing:1.4.0-beta01 yayınlandı. 1.4.0-beta01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Üst parçalar artık kendi geri çağırmalarını başlatmadan önce
onHiddenChanged()tüm hiyerarşileri boyunca gönderilecek. (Iedc20, b/77504618) - Klavyenin açık olduğu bir parçadan geri dönüşüm görünümü içeren bir parçaya geçildiğinde klavye artık otomatik olarak kapanacak. (I8b842, b/196852211)
DialogFragmentartıkshow(),showNow()veyadismiss()numaralarını aradığınızda oluşturduğu tüm işlemler içinsetReorderingAllowed(true)kullanıyor. (Ie2c14)DetachAndAttachFragmentInSameFragmentTransactionile ilgili çok uzun hata analizi uyarısıDetachAndAttachSameFragmentolarak kısaltıldı. (e9eca3)
Sürüm 1.4.0-alpha10
29 Eylül 2021
androidx.fragment:fragment:1.4.0-alpha10, androidx.fragment:fragment-ktx:1.4.0-alpha10 ve androidx.fragment:fragment-testing:1.4.0-alpha10 özellikleri kullanıma sunulur. 1.4.0-alpha10 sürümü şu commit'leri içerir.
Hata analizi
- Aynı
FragmentTransactioniçinde aynıFragmentüzerinde hemdetach()hem deattach()çağrısının algılanması içinDetachAndAttachFragmentInSameFragmentTransactionlint uyarısı eklendi. Bu tamamlayıcı işlemler aynı işlemde yapıldığında birbirini iptal ettiğinden, gerçekten bir şey yapmak için ayrı işlemlere bölünmeleri gerekir. (aosp/1832956, b/200867930) MenuHostFragmentAddMenuProviderAPI'si kullanılırken Fragment yaşam döngüsünün Fragment görünümü yaşam döngüsüyle ilgili kullanımlarını düzeltmek içinaddMenuProviderlint hatası eklendi. (aosp/1830457, b/200326272)
Doküman Güncellemeleri
startActivityForResult,startIntentSenderForResult,onActivityResult,requestPermissionsveonRequestPermissionsResultolmak üzere artık Activity Result API'leri tarafından işlenen API'lerin desteğinin sonlandırılmasıyla ilgili mesajlar daha ayrıntılı hale getirildi. (cce80f)- Hem
Fragmenthem deDialogFragmentiçinonActivityCreated()desteğinin sonlandırılmasıyla ilgili mesaj, daha fazla ayrıntı içerecek şekilde genişletildi. (224db4)
Sürüm 1.4.0-alpha09
15 Eylül 2021
androidx.fragment:fragment:1.4.0-alpha09, androidx.fragment:fragment-ktx:1.4.0-alpha09 ve androidx.fragment:fragment-testing:1.4.0-alpha09 özellikleri kullanıma sunulur. 1.4.0-alpha09 sürümü şu commit'leri içerir.
Yeni Özellikler
- Artık
clearBackStack(name)numarasını arayaraksaveBackStack(name)ile daha önce kaydedilmiş durumları temizleyebilirsiniz. (I70cd7)
API Değişiklikleri
FragmentContainerViewsınıfı Kotlin'de yeniden yazıldı. Bu sayedegetFragmentişlevinin null değer alabilme özelliğine uygun şekilde uyması sağlandı. (If694a, b/189629145)- FragmentStrictMode artık Kotlin ile yazılıyor (I11767, b/199183506)
Hata Düzeltmeleri
setReorderingAllowed(true)ile eklenen ve bekleyen işlemler yürütülmeden hemen önce kaldırılan bir Fragment'ın durumunun düzgün şekilde temizlenmemesine neden olan sorun düzeltildi. (I8ccb8)
Sürüm 1.4.0-alpha08
1 Eylül 2021
androidx.fragment:fragment:1.4.0-alpha08, androidx.fragment:fragment-ktx:1.4.0-alpha08 ve androidx.fragment:fragment-testing:1.4.0-alpha08 özellikleri kullanıma sunulur. 1.4.0-alpha08 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
UseRequireInsteadOfGetLint kontrolü, gereksiz parantezleri daha iyi işleyecek şekilde iyileştirildi. (I2d865)- Ek uç durumları işlemek için
UseGetLayoutInflaterLint kontrolü iyileştirildi. (Ie5423)
Sürüm 1.4.0-alpha07
18 Ağustos 2021
androidx.fragment:fragment:1.4.0-alpha07, androidx.fragment:fragment-ktx:1.4.0-alpha07 ve androidx.fragment:fragment-testing:1.4.0-alpha07, önemli bir değişiklik yapılmadan yayınlandı. 1.4.0-alpha07 sürümü şu commit'leri içerir.
Sürüm 1.4.0-alpha06
4 Ağustos 2021
androidx.fragment:fragment:1.4.0-alpha06, androidx.fragment:fragment-ktx:1.4.0-alpha06 ve androidx.fragment:fragment-testing:1.4.0-alpha06 özellikleri kullanıma sunulur. 1.4.0-alpha06 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Hızlıca geri yığınlar arasında geçiş yaparken birden fazla geri yığınla ilgili bir sorun düzeltildi. Bu sorun,
FragmentTransactiongeri yüklenirkenIllegalStateExceptionolarak görünüyordu veya bir parçanın ikinci kopyası olarak görünüyordu. (I9039f) FragmentManager'nın, daha öncesaveBackStack()aracılığıyla kaydedilen durumun bir kopyasını, bu durum geri yüklendikten sonra bile tutmasıyla ilgili sorun düzeltildi. (Ied212)- DialogFragment'ı özellikle
show(FragmentTransaction, String)yöntemiyle eklerken durum kaydedildikten sonradismissAllowingStateLoss()yöntemi çağrıldığındaDialogFragmentartık kilitlenmiyor. (I84422)
Sürüm 1.4.0-alpha05
21 Temmuz 2021
androidx.fragment:fragment:1.4.0-alpha05, androidx.fragment:fragment-ktx:1.4.0-alpha05 ve androidx.fragment:fragment-testing:1.4.0-alpha05 özellikleri kullanıma sunulur. 1.4.0-alpha05 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Parça
1.3.6: Kök görünümdetransitionGroup=”true”ayarlanmışkenhide()kullanılırken parçanın görünümü artık doğru şekildeGONEolarak ayarlanıyor. (aosp/1766655, b/193603427) - Fragment
1.3.6:FragmentActivityartık her zaman geçersiz kıldığı yaşam döngüsü geri çağırmalarında ilk işlem olarak kaydedilmiş durumu açar. (I6db7a)
Bağımlılık güncellemesi
- Parça
1.3.6: Parçalar artık Etkinliğe1.2.4bağlıdır (I3a66c).
Sürüm 1.4.0-alpha04
30 Haziran 2021
androidx.fragment:fragment:1.4.0-alpha04, androidx.fragment:fragment-ktx:1.4.0-alpha04 ve androidx.fragment:fragment-testing:1.4.0-alpha04 özellikleri kullanıma sunulur. 1.4.0-alpha04 sürümü şu commit'leri içerir.
API Değişiklikleri
FragmentManagerartık durumunu kaydetmek için arka plandaSavedStateRegistrykullanıyor.saveAllState()verestoreSavedState()yöntemlerinin desteğiFragmentController'de de sonlandırıldı. ParçalarıFragmentActivitydışında barındırmak içinFragmentControllerkullanıyorsanızFragmentHostCallbacks,SavedStateRegistryOwner'ü uygulamalıdır. (Iba68e, b/188734238)
Hata Düzeltmeleri
- Birden fazla geri çağırma yığınını destekleme kapsamında
saveBackStack()çağrısının,replace()kullanan birFragmentTransactionçalıştırılırken aynı anda yapıldığında başarısız olmasına neden olan sorun düzeltildi. (I73137) - Birden fazla geri yığın desteği için
restoreBackStack()API'si kullanılırken birden fazla işlem içeren kaydedilmiş bir geri yığın manuel olarak geri yüklendikten sonra oluşanNullPointerExceptiondüzeltildi. Bu düzeltme,setReorderingAllowed(true)tüm işlemler için kontrol edilmemesine neden olan sorunu da giderdi. (I8c593) FragmentManageröğesinden kaldırılan parçalardan sonra bileFragmentManageröğesinin daha önce kaydedilmiş durumunu yanlış şekilde geri yüklemeye devam etmesi ve bu nedenle kaydedilmiş durumun zaman içinde sürekli olarak büyümesine neden olması sorunu düzeltildi. (I1fb8e)
Sürüm 1.4.0-alpha03
16 Haziran 2021
androidx.fragment:fragment:1.4.0-alpha03, androidx.fragment:fragment-ktx:1.4.0-alpha03 ve androidx.fragment:fragment-testing:1.4.0-alpha03 özellikleri kullanıma sunulur. 1.4.0-alpha03 sürümü şu commit'leri içerir.
Yeni Özellikler
- Tüm Fragment StrictMode
Violationsınıfları, ihlalin ayrıntılarını açıklayan daha ayrıntılı hata mesajlarıyla güncellendi. (b/187871638)FragmentTagUsageViolationartık parçanın ekleneceği üst kapsayıcıyı içeren daha ayrıntılı bir hata mesajı içeriyor. (Ic33a7)WrongFragmentContainerViolationartık parçanın eklendiği kapsayıcıyı içeren daha ayrıntılı bir hata mesajına sahip. (Ib55f8)TargetFragmentUsageViolationKullanım alanı sınıfları artık ihlale neden olan parçayı ve içerdiği diğer bilgileri içeren daha ayrıntılı hata mesajlarına sahip. (Icc6ac)RetainInstanceUsageViolationsınıfını genişleten sınıflar artık ihlale neden olan parçayı içeren daha ayrıntılı hata mesajlarına sahip. (I6bd55)FragmentReuseViolationartık daha ayrıntılı bir hata mesajı içeriyor. Bu mesajda, parçanın önceki kimliği de yer alıyor. (I28ce2)SetUserVisibleHintViolationartık kullanıcının görebileceği ipucunun neye ayarlandığını içeren daha ayrıntılı bir hata mesajına sahip. (Ib2d5f)
Davranış Değişiklikleri
fitsSystemWindowsüzerindeFragmentContainerViewçağrısı yapma kısıtlaması geri alındı. Bu işlem artık uygulamanızın kilitlenmesine neden olmuyor. (6b8ddd, b/190622202)
Hata Düzeltmeleri
- Fragment
1.3.5: aosp/1679887 tarafından Fragment1.3.4'da kullanıma sunulan paylaşılan öğe geçişlerindeki regresyon düzeltildi. Parçalar artık geçiş gruplarını (doğrudantransitionGroup="true"aracılığıyla veya dolaylı olaraktransitionNameya dabackgroundaracılığıyla ayarlanan) doğru şekilde işliyor ve paylaşılan öğeler artıkIndexOutOfBoundsExceptionhata vermiyor. (I16484, b/188679569, b/188969304) FragmentManager, artık bir kaldırma parçasını gizlemeye çalıştığınızda kilitlenmeyecek. (I573dd, b/183634730)OnCreateDialogIncorrectCallbackLint denetimi, üst düzey bir değişken değerlendirilirken artık kilitlenmeyecek. (0a9efa, b/189967522)
Sürüm 1.4.0-alpha02
2 Haziran 2021
androidx.fragment:fragment:1.4.0-alpha02, androidx.fragment:fragment-ktx:1.4.0-alpha02 ve androidx.fragment:fragment-testing:1.4.0-alpha02 özellikleri kullanıma sunulur. 1.4.0-alpha02 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentStrictMode,FragmentManagerüzerinden günlük kaydı etkinleştirildiğinde, kullanılan mevcut yüksek düzey mod politikasına bakılmaksızın ihlalleri her zaman günlüğe kaydeder. (I02df6, b/187872638)FragmentStrictModeartık belirliFragmentsınıfların yüksek düzey moduViolationdan muaf tutulmasını destekliyor. Bu sayede, söz konusu sınıflar ceza almadan yüksek düzey modu atlayabiliyor. (Ib4e5d, b/184786736)FragmentStrictModeViolationsınıfı, her ihlale dayalı yapı bilgileri eklemek için genişletildi. Bu sayede, ihlale neden olan unsuru ve ihlalde bulunan parçayı (If5118, b/187871150) tam olarak doğrulayabilirsiniz. HerViolationaşağıdaki bilgileri içerir:WrongFragmentContainerViolationartıkFragment'ın eklenmeye çalıştığıViewGroup'ı içeriyor. (I83c75, b/187871150)TargetFragmentUsageViolation,SetTargetFragmentUsageViolation,GetTargetFragmentUsageViolationveGetTargetFragmentRequestCodeUsageViolationolarak genişletildi.SetTargetFragmentUsageViolation, hedef parçayı ve istek kodunu içerir. (I741b4, b/187871150)SetUserVisibleHintViolationartıksetUserVisibleHint()içine iletilen Boole değerini içeriyor. (I00585, b/187871150)FragmentTagUsageViolationartık<fragment>etiketinin bir parçayı genişletmeye çalıştığı ViewGroup'u içeriyor.(I5dbbc, b/187871150)FragmentReuseViolationartık ihlale neden olan öncekiFragmentörneğinin benzersiz kimliğini içeriyor. (I0544d, b/187871150)RetainInstanceUsageViolationartık soyuttur ve ihlal türüyle ilgili iki durumu temsil edenSetRetainInstanceUsageViolationveGetRetainInstanceUsageViolationolmak üzere iki alt sınıfı vardır. (Ic81e5, b/187871150)
Davranış Değişiklikleri
FragmentContainerViewözelliği programatik olarak veya XML aracılığıyla değiştirilmeye çalışıldığında artık istisna oluşturuyor.fitsSystemWindowYerleştirmeler, her bir parçanın görünümü tarafından işlenmelidir. (Ie6651, b/187304502)
Sürüm 1.4.0-alpha01
18 Mayıs 2021
androidx.fragment:fragment:1.4.0-alpha01, androidx.fragment:fragment-ktx:1.4.0-alpha01 ve androidx.fragment:fragment-testing:1.4.0-alpha01 özellikleri kullanıma sunulur. 1.4.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentContainerViewartık kapsayıcıya en son eklenen parçayı döndüren birgetFragment()yöntemi sunuyor. Bu işlev,FragmentContainerViewkimliğiylefindFragmentById()ile aynı mantığı kullanır ancak çağrının zincirlenmesine izin verir. (Ife17a, b/162527857)val navController = binding.container.getFragment<NavHostFragment>().navControllerEklendi
FragmentTransaction#TRANSIT_FRAGMENT_MATCH_ACTIVITY_{OPEN, CLOSE}Temanızdan alınan standart Etkinlik geçişi animasyonunun Parçalar geçişinde etkinleştirilip etkinleştirilmeyeceğini belirtmek için. (I46652)
Birden fazla geri yığın
FragmentManager, addToBackStack() kullanılan parça işlemlerinden oluşan bir geri yığın tutar. Bu sayede, Durumu parçalarla kaydetme mekanizmalarını kullanarak bu işlemleri pop edebilir ve önceki duruma dönebilirsiniz. Böylece parçalarınız durumlarını uygun şekilde geri yükleyebilir.
Bu sürüm, FragmentManager ve restoreBackStack(String name) olmak üzere iki yeni saveBackStack(String name) API'si sunarak bu mekanizmaları genişletiyor. Bu API'ler, name ile aynı addToBackStack()'yi kullanarak FragmentTransaction'nin durumunu ve bu işlemlerde eklenen her parçanın durumunu kaydeder. Böylece, bu işlemleri ve parçalarını daha sonra durumları bozulmadan geri yükleyebilirsiniz. Bu sayede, geçerli geri yığını kaydedip kaydedilmiş bir geri yığını geri yükleyerek birden fazla geri yığın arasında etkili bir şekilde "geçiş" yapabilirsiniz.
saveBackStack(), popBackStack() ile benzer şekilde çalışır. Yani eşzamansızdır ve bu ada geri dönen tüm parça işlemlerinin geri alınmasına ("popped") ve eklenen tüm parçaların yok edilip kaldırılmasına neden olur. Ancak birkaç önemli açıdan farklılık gösterir:
saveBackStack()her zaman dahil edilir.- Belirtilen ad geri yığında bulunmazsa veya null ad sağlanırsa geri yığındaki tüm işlemleri açan
popBackStack()'dan farklı olarak, daha önceaddToBackStack()ile tam olarak aynı ve null olmayan bir ad kullanarak parça işlemi yapmadıysanızsaveBackStack()hiçbir işlem yapmaz. - Bu işlemlerden eklenen tüm parçaların durumu kaydedilir. Bu, her parçanın görünüm durumunun depolandığı, her parçanın
onSaveInstanceState()işlevinin çağrıldığı ve durumun geri yüklendiği, bu parçalarla ilişkili tümViewModelörneklerinin tutulduğu (ve bunlar üzerindeonCleared()işlevinin çağrılmadığı) anlamına gelir.
saveBackStack() ile kullanılabilen parça işlemlerin belirli ölçütleri karşılaması gerekir:
- İşlemlerin tek bir atomik işlem olarak geri yüklenebilmesi için her parça işleminde
setReorderingAllowed(true)kullanılmalıdır. - Kaydedilen işlemlerin daha sonraki bir zamanda geri yüklenebilmesi için kendi içinde tutarlı olması gerekir (yani, bu işlem kümesinin dışındaki parçalara açıkça referans vermemelidir). Bu sayede, arada geçen sürede geri yığında yapılan değişikliklerden bağımsız olarak işlemler geri yüklenebilir.
FragmentManager, geri yığın kaydedildikten sonra kaydedilmiş parçalara herhangi bir referans döndürmemesini sağlamak için kaydedilen hiçbir parça saklanan bir parça olamaz veya geçişli alt parça kümesinde saklanan bir parça bulunamaz.
saveBackStack() işlevine benzer şekilde, daha önce aynı adla saveBackStack() işlevini çağırmadıysanız restoreBackStack() işlevi hiçbir şey yapmaz. (b/80029773)
Fragment StrictMode
FragmentStrictMode API'leri, uygulamanızın veya bağlı olduğunuz kitaplıkların kullanımdan kaldırılan parça API'lerini çağırmadığını doğrulamanıza olanak tanıyan çalışma zamanı kontrolleri sağlar. İhlal tespit edildiğinde bir günlük mesajı yazdırmayı, kendi özel dinleyicinizi tetiklemeyi veya uygulamanızın kilitlenmesini seçebilirsiniz. Hangi kontrollerin etkinleştirileceğini ve hangi "cezaların" tetikleneceğini kontrol eden FragmentStrictMode.Policy, yeni setStrictModePolicy() yöntemiyle FragmentManager üzerinde ayarlanabilir. Bu politika, söz konusu FragmentManager için ve kendi benzersiz politikasını ayarlamayan tüm alt parça yöneticileri için geçerlidir. (#123, #131, #150, b/143774122)
detectFragmentReuse(), daha önce kaldırılmış birFragmentörneğininFragmentManager'ye yeniden eklenip eklenmediğini algılar. BirFragmentörneği yok edildikten ve birFragmentManager'den kaldırıldıktan sonra bu örnekle hiçbir zaman etkileşimde bulunmamalı veya bu örneğe referans vermemelisiniz. (#142, b/153738653)detectFragmentTagUsage(), düzen XML'nizde<fragment>etiketini kullandığınızda bunu algılar. Düzeninizin bir parçası olarak parçaları genişletirken her zamanFragmentContainerViewkullanmanız gerekir. (#141, b/153738235)detectWrongFragmentContainer(),FragmentContainerViewolmayan bir kapsayıcıya parça eklediğinizde bunu algılar. Düzeninizdeki parçalar için her zamanFragmentContainerViewkapsayıcısını kullanmanız gerekir. (#146, b/181137036)detectRetainInstanceUsage(), desteği sonlandırılmışsetRetainInstance()veyagetRetainInstance()API'lerini kullandığınızda sizi uyarır. (#140, b/153737954)detectSetUserVisibleHint(), kullanımdan kaldırılansetUserVisibleHint()API'sini kullandığınızda bunu algılar. (#136, b/153738974)detectTargetFragmentUsage(),getTargetFragment()veyagetTargetRequestCode()API'lerini kullandığınızda bunu algılar.setTargetFragment()(#139, b/153737745)
API Değişiklikleri
FragmentManager.enableNewStateManager(boolean)deneysel API'si kaldırıldı ve artık yalnızca yeni durum yöneticisi kullanılabiliyor. (I90036, b/162776418)FragmentScenarioartıkCloseable'yi uyguluyor. Bu sayede, Kotlin'inuseyöntemi veya try-with-resources ile kullanabilirsiniz. (#121, b/143774122)
Yeni hata analizi kontrolleri
UseGetLayoutInflaterLint kontrolü artıkDialogFragmentiçindeLayoutInflater.from(Context)kullanıldığında uyarı veriyor.LayoutInflateriçin uygun olanı almak üzere her zaman iletişim kutusu parçasınıngetLayoutInflater()yöntemini kullanmanız gerekir. (#156, b/170781346)DialogFragmentCallbacksDetectorLint kontrolü artıkDialogFragmentsınıfınınonCreateDialog()yöntemindesetOnCancelListenerveyasetOnDismissListenerçağrıldığında uyarı veriyor. Bu dinleyicilerDialogFragmentsınıfına aittir ve bu geri aramaları almak içinonCancel()veonDismiss()yöntemlerini geçersiz kılmanız gerekir. (#171, b/181780047, b/187524311)
Hata Düzeltmeleri
- Fragment 1.3.4:
ViewTreeViewModelStoreOwner.get()API'siViewModelProviderile veya bir Fragment içindeviewModel()Jetpack Compose yöntemiyle kullanılırken Fragment1.3.3'da ortaya çıkan regresyon düzeltildi. Bu kullanım alanları artıkViewModelProvider.Factorytarafından sağlanangetDefaultViewModelProviderFactory()'yi geçersiz kılıyorsa (@AndroidEntryPointek açıklamalı parçalar Hilt kullanırken yaptığı gibi) doğru şekilde kullanıyor. Bu yöntemi geçersiz kılmıyorsanız varsayılan fabrika olarak, Fragment'ın görünümüyle birlikte durumunu kaydedip geri yükleyen birSavedStateViewModelFactoryoluşturulur. (I5cbfa, b/186097368) - Fragment 1.3.4'ten itibaren: API 29'da
FragmentContainerViewkullanılırken artık sonsuza kadar yerleştirme gönderilmeyecek. BöyleceBottomNavigationBarveFloatingActionButtonörnekleriyle ilgili sorunlar düzeltilecek. (I1bb78, b/186012452) - Fragment 1.3.4: Artık işlem sonlandırıldıktan sonra Parcelable'ınızı parça sonucu paketinden alabilirsiniz. (I65932, b/187443158)
- Fragment 1.3.4 sürümünden itibaren: ViewGroup üzerinde paylaşılan öğe geçişi yapılırken ViewGroup'un
transitionGroupdeğeri false olarak ayarlanmışsa artık düzgün şekilde geçiş yapılır. (I99675)
Harici Katkı (External Contribution)
FragmentScenariohizmetininCloseableözelliğini kullanıma sunmasını sağlayan simonschiller'a teşekkür ederiz. (#121, b/143774122)- Bu sürümde
FragmentStrictModeAPI'sinin tamamını eklediği için simonschiller'a teşekkür ederiz. (#123, #131, #150, b/143774122, #142, b/153738653, #141, b/153738235, #146, b/181137036, #140, b/153737954, #136, b/153738974, #139, b/153737745) UseGetLayoutInflaterLint kontrolünü eklediği için tatocaster'a teşekkür ederiz. (#156, b/170781346)DialogFragmentCallbacksDetectorLint kontrolünü eklediği için tatocaster'a teşekkür ederiz. (#171, b/181780047)
Sürüm 1.3
Sürüm 1.3.6
21 Temmuz 2021
androidx.fragment:fragment:1.3.6, androidx.fragment:fragment-ktx:1.3.6 ve androidx.fragment:fragment-testing:1.3.6 özellikleri kullanıma sunulur. 1.3.6 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Parça
1.4.0-alpha03: Kaldırılan bir parçayı gizlemeye çalıştığınızdaFragmentManagerartık kilitlenmeyecek. (I573dd, b/183634730) - Kök görünümde
transitionGroup=”true”ayarlandığındahide()kullanılırken Fragment'ın görünümü artıkGONEolarak doğru şekilde ayarlanıyor. (aosp/1766655, b/193603427) FragmentActivityartık yaşam döngüsü geri çağırmalarında geçersiz kıldığı ilk işlem olarak her zaman kayıtlı durumu kilidini açar. (I6db7a)
Bağımlılık güncellemesi
- Parça
1.3.6: Parçalar artık Etkinliğe1.2.4bağlıdır (I3a66c).
Sürüm 1.3.5
16 Haziran 2021
androidx.fragment:fragment:1.3.5, androidx.fragment:fragment-ktx:1.3.5 ve androidx.fragment:fragment-testing:1.3.5 özellikleri kullanıma sunulur. 1.3.5 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Fragment
1.3.4'ta aosp/1679887 tarafından sunulan paylaşılan öğe geçişlerindeki gerileme düzeltildi. Parçalar artık geçiş gruplarını (doğrudantransitionGroup="true"aracılığıyla veya dolaylı olaraktransitionNameya dabackgroundaracılığıyla ayarlanan) doğru şekilde işliyor ve paylaşılan öğeler artıkIndexOutOfBoundsExceptionhata vermiyor. (I16484, b/188679569, b/188969304)
Sürüm 1.3.4
18 Mayıs 2021
androidx.fragment:fragment:1.3.4, androidx.fragment:fragment-ktx:1.3.4 ve androidx.fragment:fragment-testing:1.3.4 özellikleri kullanıma sunulur. 1.3.4 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Hilt kullanılırken
ViewTreeViewModelStoreOwner.get()API'siViewModelProviderile veya bir Fragment içindeviewModel()Jetpack Compose yöntemiyle kullanıldığında Fragment1.3.3içinde ortaya çıkan bir regresyon düzeltildi. Bu kullanım alanları artıkgetDefaultViewModelProviderFactory()öğesini geçersiz kılıyorsa Fragment'ınız tarafından sağlananViewModelProvider.Factoryöğesini doğru şekilde kullanıyor (@AndroidEntryPointile açıklama eklenmiş Fragment'lar gibi). Bu yöntemi geçersiz kılmıyorsanız varsayılan fabrika olarak, Fragment'ın görünümüyle birlikte durumunu kaydedip geri yükleyen birSavedStateViewModelFactoryoluşturulur. (I5cbfa, b/186097368) - API 29'da
FragmentContainerViewkullanılırken artık ekler süresiz olarak gönderilmeyecek. Böylece,BottomNavigationBarveFloatingActionButtonörnekleriyle ilgili sorunlar düzeltilecek. (I1bb78, b/186012452) - Artık işlem sonlandırıldıktan sonra Parcelable'ınızı fragment sonucu paketinden alabilirsiniz. (I65932, b/187443158)
- Bir ViewGroup'da paylaşılan öğe geçişi yapılırken ViewGroup'un
transitionGroupdeğeri false olarak ayarlanmışsa artık düzgün şekilde geçiş yapılır. (I99675)
Sürüm 1.3.3
21 Nisan 2021
androidx.fragment:fragment:1.3.3, androidx.fragment:fragment-ktx:1.3.3 ve androidx.fragment:fragment-testing:1.3.3 özellikleri kullanıma sunulur. 1.3.3 sürümü şu commit'leri içerir.
Yeni Özellikler
SavedStateViewModelFactoryartıkViewTreeSavedStateRegistryOwner.get()ile Fragment's View kullanılarak döndürülenSavedStateRegistryOwnerile birlikte kullanıldığında çalışıyor. (I21acf, b/181577191)
Hata Düzeltmeleri
- Fragment
1.3.2'te kullanıma sunulan veNavHostFragmenttarafından kullanılanlar gibisetPrimaryNavFragmentişlemi içeren birFragmentTransactionaçılırkenpopEnteranimasyonlarının çalışmamasına neden olan regresyon düzeltildi. (I38c87, b/183877426) FragmentContainerViewartık herFragmentiçin yeni birWindowInsetskümesi gönderilmesini sağlayarak her parçanın artık ekleri bağımsız olarak kullanabilmesini sağlar. (I63f68, b/172153900)DialogFragmentartık bir alt parçanın, özelDialogsınıfınızdaki bir kapsayıcıyla aynı kimliğe sahip bir kapsayıcıya eklendiği durumları düzgün şekilde işliyor. Böylece,BottomSheetDialoggibi iletişim kutuları tarafından dahili olarak kullanılan kimliklerin yeniden kullanılmasıyla ilgili görünüm hiyerarşisi sorunları düzeltiliyor. (Ie6279, b/180021387)FragmentManager.dump()artık etkin parçalar listesindeki ilk parçayı düzgün şekilde girintiliyor. (If5c33, b/183705451)
Yeni State Manager hata düzeltmeleri
- Yeni parça durumu yöneticisi artık çıkış geçişlerini gizleme işlemleriyle düzgün şekilde işliyor. (I9e4de, b/184830265)
Sürüm 1.3.2
24 Mart 2021
androidx.fragment:fragment:1.3.2, androidx.fragment:fragment-ktx:1.3.2 ve androidx.fragment:fragment-testing:1.3.2 özellikleri kullanıma sunulur. 1.3.2 sürümü şu commit'leri içerir.
Yeni State Manager hata düzeltmeleri
- Hem
popBackStack()hem decommit()işlemleri birlikte çalıştırıldığında, son işlem artık bazı pop animasyonlarını ve bazı giriş animasyonlarını çalıştırmak yerine tüm animasyonların yönünü ayarlayacak. (I7072e, b/181142246) - Paylaşılan öğe hiyerarşisindeki görünümler, paylaşılan öğe geçişi sırasında artık geçiş adlarını temizlemeyecek. (I4d4a6, b/179934757)
Bağımlılık Güncellemeleri
- Fragment artık Activity 1.2.2'ye bağlıdır. Bu sayede, Fragment 1.3.1 veya daha yeni bir sürüm kullanılırken Activity'nin
InvalidFragmentVersionForActivityResultlint kontrolüyle ilgili bir sorun düzeltilir. - Fragment artık Lifecycle 2.3.1'e bağlıdır.
Sürüm 1.3.1
10 Mart 2021
androidx.fragment:fragment:1.3.1, androidx.fragment:fragment-ktx:1.3.1 ve androidx.fragment:fragment-testing:1.3.1 özellikleri kullanıma sunulur. 1.3.1 sürümü şu commit'leri içerir.
Yeni Özellikler
DialogFragmentiçindeki iletişim kutuları artık DecorView'ları aracılığıyla ViewTree sahiplerine erişebilir. Bu sayedeDialogFragment,ComposeViewile kullanılabilir. (Ib9290, b/180691023)
Hata Düzeltmeleri
- FragmentContainerView kullanılarak zaten
RESUMEDetkinliğine yerleştirilmiş parçalar, yapılandırma değişikliğinden sonra artık düzgün şekilde gösteriliyor. (Ie14c8, b/180538371) - Parçanın sonunda artık fazladan bir
}yoktoString()(I54705, b/177761088) - FragmentActivity'deki geçersiz kılınan yöntemler artık temel yöntem javaDoc'u düzgün şekilde devralıyor (I736ce, b/139548782)
setFragmentResultvesetFragmentResultListenerile ilgili dokümanlar, artık null değerleri kabul etmediklerini yansıtacak şekilde parametre dokümanlarını güncelledi (I990ba, b/178348386).
Yeni State Manager hata düzeltmeleri
mFocusedViewnedeniyle parçalarda oluşan bellek sızıntısı düzeltildi (Ib4e9e, b/179925887).- Parçalar artık işlemleri gösterme/gizleme (I8bce8, b/180255554) kullanılırken
onCreateOptionsMenuişlevini düzgün şekilde çağırıyor. - Parça düzenlenmeden önce başlayan geçişlere sahip alt parçalar artık düzgün şekilde
RESUMED'ya ulaşacak (Ic11e6, b/180825150). <fragment>etiketi kullanılarak şişirilen parçalar artık her zamanRESUMED'a ulaşacak (I452ac, (I9fa49)
Bağımlılık Güncellemeleri
- Fragment 1.3.1, Activity
1.2.1'ye bağlıdır. (I557b9)
Sürüm 1.3.0
10 Şubat 2021
androidx.fragment:fragment:1.3.0, androidx.fragment:fragment-ktx:1.3.0 ve androidx.fragment:fragment-testing:1.3.0 özellikleri kullanıma sunulur. 1.3.0 sürümü şu commit'leri içerir.
1.2.0 sürümünden beri yapılan önemli değişiklikler
- Yeni State Manager:
FragmentManager'in iç kısımlarının önemli ölçüde yeniden yazılmasıyla yaşam döngüsü etkinliklerinin, animasyonların ve geçişlerin gönderilmesiyle ilgili çok sayıda sorun ve ertelenen parçaların işlenme şekli düzeltildi. Activity Result API Entegrasyonu:
ActivityResultRegistryAPI'si için destek eklendi. Bu API, Activity1.2.0'de kullanıma sunulmuştu. Bu API ile,startActivityForResult()+onActivityResult()verequestPermissions()+onRequestPermissionsResult()akışlarını Fragment'inizdeki yöntemleri geçersiz kılmadan işleyebilir ve bu akışları test etmek için kancalar sağlayabilirsiniz. Güncellenen Bir Etkinlikten Sonuç Alma başlıklı makaleyi inceleyin.- Bu sürümde, Activity Result API'nin
FragmentActivity'nın önceki sürümlerinde çalışmasını engelleyen geçersiz istek kodları ve izin isteklerinin gönderilmesiyle ilgili çeşitli sorunlar düzeltilmiştir. Activity Result API'leriniFragmentActivityveyaAppCompatActivityiçinde kullanmak için Fragment 1.3.0'a yükseltmeniz gerekir.
- Bu sürümde, Activity Result API'nin
Fragment Result API:
FragmentManagerüzerindeki yeni API'ler aracılığıyla sonuçların iki Fragment arasında aktarılması için destek eklendi. Bu, hiyerarşi parçaları (üst/alt), DialogFragment'lar ve Gezinme'deki parçalar için geçerlidir. Ayrıca, sonuçların yalnızca Fragment'ınız en azSTARTEDdurumundayken gönderilmesini sağlar. Hedef fragment API'leri, bu yeni API'ler lehine kullanımdan kaldırıldı. Parça Sonucu API'sini kullanarak sonuç alma başlıklı makaleyi inceleyin.FragmentOnAttachListener:FragmentActivityveFragmentüzerindekionAttachFragment()geri çağırma işlevinin desteği sonlandırıldı. Daha esnek bir alternatif sunmak için yeni birFragmentOnAttachListenereklendi. Bu sayedeonAttachFragment(), ayrı ve test edilebilir dinleyicilere devredilebiliyor ve doğrudan alt FragmentManager'ınızın dışındaki FragmentManager'lara dinleyici ekleme desteği sağlanıyor.FragmentScenarioİyileştirmeler:fragment-testingyapıtındakiFragmentScenariosınıfı Kotlin ile yeniden yazıldı ve çeşitli iyileştirmeler yapıldı:FragmentScenarioartıkmoveToState()'i uygulamak içinsetMaxLifecycle()kullanıyor. Bu sayede, tüm API düzeylerinde tutarlı davranış sağlanıyor ve Fragment'ın durumu temel Activity'den ayrılıyor.FragmentScenarioartık ilk kez herLifecycle.Stateöğesine geçmeden önce parçanın durumunu onaylamayı desteklemek için başlangıçLifecycle.Stateayarlanmasını destekliyor.- Artık bir değer döndürmenize olanak tanıyan Kotlin reified uzantı yöntemi
withFragmentbiçiminde,onFragmentFragmentScenarioAPI'sinin bir alternatifi bulunmaktadır. Özellikle, belirtilen blokta oluşturulan istisnaları yeniden oluşturur.
ViewTreeSupport:FragmentartıkViewTreeLifecycleOwner.get(View),ViewTreeViewModelStoreOwner.get(View)veViewTreeSavedStateRegistryOwnerAPI'lerini destekliyor. Bu API'ler Lifecycle2.3.0ve SavedState1.1.0'e eklenmişti. Bu sayede,FragmentiçindeViewkullanılırken Fragment'ıViewModelStoreOwnerolarak,SavedStateRegistryOwnerveLifecycleOwner'ı da fragment'ın view Lifecycle'ına bağlı olarak döndürecek.TRANSIT_animasyon değişiklikleri: Parçanın varsayılan efektleri olanTRANSIT_FRAGMENT_OPEN,TRANSIT_FRAGMENT_CLOSEveTRANSIT_FRAGMENT_FADEartıkAnimationyerineAnimatorkullanıyor. Bu animasyonları oluşturmak için kullanılan kaynaklar artık gizli.setRetainInstance()desteğinin sonlandırılması: ParçalardakisetRetainInstance()yönteminin desteği sonlandırıldı. ViewModels'in kullanıma sunulmasıyla birlikte geliştiriciler, durumun korunması için Etkinlikler, Parçalar ve Gezinme grafikleriyle ilişkilendirilebilen belirli bir API'ye sahip oldu. Bu sayede geliştiriciler, tutulmayan normal bir Fragment kullanabilir ve tutulmasını istedikleri belirli durumu ayrı tutabilir. Böylece, tutulan durumun tek bir oluşturma ve yok etme işleminin faydalı özelliklerini (yaniViewModeloluşturucusu ve aldığıonCleared()geri çağırması) korurken yaygın bir sızıntı kaynağı önlenir.ViewPager 1 bağdaştırıcısının desteğinin sonlandırılması: ViewPager2
1.0.0'nin yayınlanmasıyla birlikteViewPagerile etkileşim için kullanılanFragmentPagerAdapterveFragmentStatePagerAdaptersınıflarının desteği sonlandırıldı. ViewPager'dan ViewPager2'ye taşıma başlıklı makaleyi inceleyin.
Sürüm 1.3.0-rc02
27 Ocak 2021
androidx.fragment:fragment:1.3.0-rc02, androidx.fragment:fragment-ktx:1.3.0-rc02 ve androidx.fragment:fragment-testing:1.3.0-rc02 özellikleri kullanıma sunulur. 1.3.0-rc02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Yapılandırma değişikliğinden sonra bir ebeveyn
DialogFragmentöğesinin bir alt öğeDialogFragmentüzerinde görünmesine neden olan sorun düzeltildi. Alt öğe iletişim kutusu parçaları artık her zaman ebeveyn iletişim kutusu parçalarının üzerinde görünüyor. (I30806, b/177439520) hideişlemi yapmanın,Animationile birlikte kullanıldığında gizleme parçasının animasyonun sonunda yanıp sönmesine neden olması sorunu düzeltildi. (I57e22, b/175417675)- Görünüm hiyerarşisi eklenmeden önce geçişler eklenen parçalar artık
RESUMED'a doğru şekilde ulaşıyor. (I1fc1d, b/177154873)
Yeni State Manager hata düzeltmeleri
- Fragment'ın görünümü
Lifecycleartık Fragment'ın görünümününLifecycleCREATED'e ulaşmadan önce yok edildiği durumları düzgün şekilde işleyerek "INITIALIZED'den aşağıya doğru etkinlik yok" ifadesini içeren istisnaları önlüyor. (eda2bd, b/176138645) Animatorkullanan parçalar artıkFragmentContainerViewkullanılırken doğru sırada görünüyor. (Id9aa3, b/176089197)
Sürüm 1.3.0-rc01
16 Aralık 2020
androidx.fragment:fragment:1.3.0-rc01, androidx.fragment:fragment-ktx:1.3.0-rc01 ve androidx.fragment:fragment-testing:1.3.0-rc01 özellikleri kullanıma sunulur. 1.3.0-rc01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
onPrepareOptionsMenu()artıkonCreateOptionsMenu()ile aynı mantığı izliyor ve bir üst parçasetMenuVisibility(false)öğesini çağırdığında artık çağrılmıyor. (Id7de8, b/173203654)
Yeni State Manager hata düzeltmeleri
Animationiçeren bir parçayıFragmentContainerViewöğesine eklerken ve ardından bu ekleme işlemini bir pop işlemiyle kesintiye uğratırken oluşan sızıntı ve görsel yapaylık sorunu düzeltildi. (I952d8)- Parçanın görünümünün,
onCreate()veyaonViewCreated()yöntemleri sırasında değiştirilmesi durumunda görünüm hiyerarşisinde kalmasına neden olan sorun düzeltildi. (I8a7d5) - Odak artık devam ettirildiklerinde Fragment kök görünümlerine düzgün şekilde geri yükleniyor. (Ifc84b)
- Aynı parça işleminde pop ve değiştirme işlemlerinin birleştirilmesi artık uygun animasyonları (Ifd4e4, b/170328691) gösterecek.
Sürüm 1.3.0-beta02
2 Aralık 2020
androidx.fragment:fragment:1.3.0-beta02, androidx.fragment:fragment-ktx:1.3.0-beta02 ve androidx.fragment:fragment-testing:1.3.0-beta02 yayınlandı. 1.3.0-beta02 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentScenario, Kotlin 1.4'ünFragmentActioniçin işlevsel arayüzleri kullanılarak kaynak ve ikili uyumluluk korunurken tamamen Kotlin'e dönüştürüldü. (I19d31)
Davranış Değişiklikleri
- Artık
classveyaandroid:nameözelliğini kullanarak bir parçayı genişletmeyen FragmentContainerView'larFragmentActivitydışında kullanılabilir. (Id4397, b/172266337) - Bir parçanın maksimum yaşam döngüsünü
DESTROYEDolarak ayarlamaya çalışıldığında artıkIllegalArgumentExceptionhatası verilecek (Ie7651, b/170765622). - Artık
DESTROYEDdurumuyla bir FragmentScenario başlatıldığındaIllegalArgumentExceptionistisnası oluşturulacak (I73590, b/170765622).
Yeni State Manager hata düzeltmeleri
AnimatorveyaTRANSIT_FRAGMENT_seçeneklerinden birini kullanan bir parça geçişini kesintiye uğratırsanız görünümün son durumuna ulaşmamasına neden olan sorun düzeltildi. (I92426, b/169874632)- Çıkış
Animationanimasyonu içeren parçaların düzgün şekilde yok edilmesini engelleyen sorun düzeltildi. (I83d65) - Efektleri tersine çevrilmiş çıkış parçaları artık doğru şekilde iptal ediliyor ve uygun giriş efektiyle yeniden başlatılıyor. (I62226, b/167092035)
- Bir
hide()öğesinin çıkışınınAnimatorçalışmamasına neden olan sorun düzeltildi. (Id7ffe) - Parçalar artık ertelendikten sonra hemen başlatıldığında düzgün şekilde gösteriliyor. (Ie713b, b/170022857)
- Animasyon sırasında odaklanmış görünümünü kaldıran parçalar,
RESUMED'ya ulaştıktan sonra ayrılmış görünümdeki odağı geri yüklemeye çalışmayacak (I38c65, b/172925703).
Harici Katkı (External Contribution)
FragmentFactoryartık farklıClassLoaderörnekleri için parça sınıflarını ayrı ayrı önbelleğe alıyor. Teşekkürler Simon Schiller! (#87, b/113886460)
Sürüm 1.3.0-beta01
1 Ekim 2020
androidx.fragment:fragment:1.3.0-beta01, androidx.fragment:fragment-ktx:1.3.0-beta01 ve androidx.fragment:fragment-testing:1.3.0-beta01 özellikleri kullanıma sunulur. 1.3.0-beta01 sürümü şu commit'leri içerir.
Yeni Özellikler
setMaxLifecycle()artık parçaCREATED'e taşınmadığı süreceLifecycledurumununINITIALIZINGolarak ayarlanmasını destekliyor. (b/159662173)
API Değişiklikleri
- Kotlin 1.4'ü kullanmak için androidx'i yükseltin (Id6471, b/165307851, b/165300826)
Davranış Değişiklikleri
- Parça kaynak dosyaları doğru şekilde gizli hale getirilmiştir. (aosp/1425237)
Hata Düzeltmeleri
<fragment>etiketi kullanılarak şişirilen parçalar artık STARTED'a (I02f4c) geçmeden önce görünümlerinin bir kapsayıcıya eklenmesini düzgün bir şekilde bekleyecek.- Görünür olan ve ardından
setMaxLifecycle()ileCREATEDarasında geçiş yapan parçalar artık çıkış efektlerini düzgün şekilde çalıştırıyor. (b/165822335) - Geri yığına eklenmemiş ayrılmış bir parçanın kaldırılması artık bellek sızıntısına neden olmuyor. Nicklas Ansman Giertz'in izniyle (b/166489383)
- Etkin parçalarda artık her zaman sıfır olmayan bir
FragmentManagerolacak ve sıfır olmayan birFragmentManageriçeren parçalar her zaman etkin kabul edilecek. (aosp/1422346) - Parça varsayılan efektleri
TRANSIT_FRAGMENT_OPEN,TRANSIT_FRAGMENT_CLOSEveTRANSIT_FRAGMENT_FADEartıkAnimationyerineAnimatorkullanıyor. (b/166155034)
Yeni State Manager hata düzeltmeleri
- Parçalar artık animasyonlarına başlamadan hemen önceki görünüm odak durumunu doğru şekilde geri yüklüyor. (Icc256)
- Artık yalnızca paylaşılan öğe geçişine sahip olan parçalar, özel efektlerini düzgün şekilde tamamlayarak son durumlarına geçiyor (Iaebc7, b/166658128).
- Parça görünümleri artık yok edilmeden önce her zaman kapsayıcıdan kaldırılıyor. (Id5876)
- Yeni durum yöneticisi, artık çıkış yapan parçalanmış görünümü, giriş yapanı eklemeden önce tutarlı bir şekilde kaldırıyor. (I41a6e)
- Bir parça görünümünün görünürlüğünde yapılan açık değişiklikler artık yeni durum yöneticisi tarafından dikkate alınıyor. Bu nedenle, animasyon başlamadan önce giren bir parçanın görünümünü
INVISIBLEolarak ayarlarsanız bu parça görünmez kalır. (b/164481490) - Parçalar artık
AnimatorsöğesineAnimationsöğesinden daha fazla öncelik veriyor. Yani her ikisini de içeren bir parça yalnızcaAnimatoröğesini çalıştıracak veAnimationöğesini yoksayacak. (b/167579557) - Yeni durum yöneticisi, giriş animasyonları kullanılırken artık parçaların yanıp sönmesine neden olmuyor. (b/163084315)
Bilinen Sorun
Yeni durum yöneticisini kullanırken özel efekt girme sırasında önceki parçaya dönmek yerine geri tuşuna basarsanız eski parça hiçbir zaman yeniden eklenmez ve ekran boş kalır. (b/167259187, b/167092035, b/168442830)
Sürüm 1.3.0-alpha08
19 Ağustos 2020
androidx.fragment:fragment:1.3.0-alpha08, androidx.fragment:fragment-ktx:1.3.0-alpha08 ve androidx.fragment:fragment-testing:1.3.0-alpha08 özellikleri kullanıma sunulur. 1.3.0-alpha08 sürümü şu commit'leri içerir.
Yeni State Manager
Bu sürümde, FragmentManager'nın dahili durum yönetiminde büyük bir yeniden düzenleme yapıldı. Bu düzenleme, yaşam döngüsü yöntemlerinin, animasyonların ve geçişlerin gönderilmesini ve ertelenen işlemlerin nasıl işlendiğini etkiler. Bu ayar varsayılan olarak etkindir. Daha fazla bilgi için Fragments: Rebuilding the Internals blog yayınını inceleyin. (b/139536619, b/147749580)
FragmentManager.enableNewStateManager(boolean)içindeki deneysel bir API, FragmentManager'ın yeni durum yöneticisini kullanıp kullanmayacağını kontrol etmek için kullanılabilir. (I7b6ee)
Aşağıdaki sorunlar yalnızca yeni durum yöneticisi kullanılırken düzeltilir:
replaceişleminin önceki parçası, yeni parça başlatılmadan önce artık doğru şekilde durduruluyor. (b/161654580)- Parçalar artık aynı parçalarda birden fazla rekabet eden animasyonu önleyerek
Animationöğesinin tümTransitionefektlerini geçersiz kıldığı veya tek bir parçada hemAnimatorhem deTransitionöğesinin çalıştığı durumları engelliyor. (b/149569323) - Giren ve çıkan tüm parçaların
enterTransitionveexitTranstiondeğerleri artık yalnızca son giren ve ilk çıkan parçalar yerine tüm parçalar için çalıştırılıyor. (b/149344150) - Ertelenen parçalar artık
CREATEDdurumunda takılı kalmıyor, bunun yerine diğer parçalarla birlikteSTARTEDdurumuna geçiyor. (b/129035555) FragmentManager, ertelenmiş yeniden sıralanmış bir işlem ile yeniden sıralanmamış bir işlem karıştırıldığında işlemlerin sırasını karıştırıyordu. Bu sorun düzeltildi. (b/147297731)- Birden fazla parçayı aynı anda kaldırma işlemi, parçaları ertelediğinizde artık ara parçaların geçici olarak görünmesine neden olmayacak. (b/37140383)
FragmentManagerartıkonAttachFragment()geri çağırma işlevi içindenfindFragmentById()veyafindFragmentByTag()çağrıldığında doğru parçaları döndürüyor. (b/153082833)- Parçalar, kendilerini değiştiren parça ertelendiğinde artık yok edilen parçalarda
onCreateView()işlevini çağırmıyor. (b/143915710) - Çerçeve
Transitionve AndroidXTransitionörnekleri birleştirilmeye çalışıldığında gösterilen hata mesajında artık geçersiz geçişe sahip parça belirtiliyor. (b/155574969)
Davranış Değişiklikleri
- Artık bir parçanın
onCreate()yaşam döngüsü yöntemindeActivityResultLauncheriçindelaunch()çağırabilirsiniz. (b/161464278) onCreate()işleminden sonraregisterForActivityResult()çağrıldığında artık yapılandırma değişikliğinden sonra sonuçların sessizce iletilememesi yerine bunun izin verilmediğini belirten bir istisna oluşturuluyor. (b/162255449)FragmentActivity,OnContextAvailableListenerdurumunu geri yüklemek için Activity1.2.0-alpha08'de kullanıma sunulanOnContextAvailableListenerAPI'sini kullanır.FragmentManagerFragmentActivityalt sınıflarına eklenen tüm dinleyiciler bu dinleyiciden sonra çalışır. (I513da)
Hata Düzeltmeleri
ActivityOptions,startIntentSenderForResult()kullanılırken iletildiğinde artık dikkate alınıyor. (b/162247961)
Bilinen Sorun
- Yeni durum yöneticisi kullanılırken, parçanın kök görünümünün görünürlüğünü doğrudan
onViewCreated()sonrasında veonResume()öncesinde ayarlamak, kök görünümün görünürlüğünü kontrol edenFragmentManagertarafından ayarladığınız görünürlüğün geçersiz kılınmasına neden olur. Geçici çözüm olarak, parçanızın görünürlüğünü değiştirmek için her zamanhide()veshow()işlemlerini kullanmanız gerekir. (b/164481490)
Sürüm 1.3.0-alpha07
22 Temmuz 2020
androidx.fragment:fragment:1.3.0-alpha07, androidx.fragment:fragment-ktx:1.3.0-alpha07 ve androidx.fragment:fragment-testing:1.3.0-alpha07 özellikleri kullanıma sunulur. 1.3.0-alpha07 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentScenarioartık Fragment'ı her zamanRESUMEDdurumuna taşımak yerineCREATED,STARTEDveyaRESUMEDiçin başlangıç yaşam döngüsü durumu ayarlamayı destekliyor. (b/159662750)- Değer döndürmenize olanak tanıyan Kotlin reified uzantı yöntemi
withFragmentbiçiminde,onFragmentFragmentScenarioAPI'sinin alternatifi eklendi. Özellikle, belirtilen blokta oluşturulan istisnaları yeniden oluşturur. (b/158697631)
Davranış Değişiklikleri
FragmentScenarioartıkmoveToState()'i uygulamak içinsetMaxLifecycle()kullanıyor. Bu sayede, tüm API düzeylerinde tutarlı davranış sağlanıyor ve Fragment'ın durumu temel Activity'den ayrılıyor. (b/156527405)ViewTreeSavedStateRegistryOwnertarafından döndürülenSavedStateRegistryOwnerartık parça görünümünün yaşam döngüsüne bağlı. Bu, durumunun kaydedilmesini ve parça görünümüyle aynı anda geri yüklenmesini sağlar. (b/158503763)
Hata Düzeltmeleri
- Parçalar artık
ViewCompat.requestApplyInsets()işlevini çağırmadan önce parçanın görünümünün eklenmesini bekliyor. Böylece, yerleştirme isteğinin bırakıldığı durumlar önleniyor. (b/158095749) clearFragmentResultListeneradlı işlev çağrıldığında yaşam döngüsü gözlemcisi artık düzgün şekilde temizleniyor. (b/159274993)
Sürüm 1.3.0-alpha06
10 Haziran 2020
androidx.fragment:fragment:1.3.0-alpha06, androidx.fragment:fragment-ktx:1.3.0-alpha06 ve androidx.fragment:fragment-testing:1.3.0-alpha06 yayınlandı. 1.3.0-alpha06 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentActivityveFragmentüzerindekionAttachFragment()geri çağırma işlevinin desteği sonlandırıldı. Daha esnek bir alternatif sunmak için yeni birFragmentOnAttachListenereklendi. Bu sayedeonAttachFragment(), ayrı ve test edilebilir dinleyicilere devredilebilir. Ayrıca, doğrudan alt FragmentManager'ınız dışındaki FragmentManager'lara dinleyici ekleme desteği de sağlanır. (I06d3d)
Hata Düzeltmeleri
- Ebeveyn parçalarının görünüm durumu artık alt parçalarından önce geri yükleniyor. Bu sayede, bir yapılandırma değişikliğinden sonra görsel sıralama sorunu düzeltiliyor. Bu sorun, bir
DialogFragmentbaşka birDialogFragmentöğesini alt parça olarak gösterdiğinde ortaya çıkıyordu. (b/157195715) UseRequireInsteadOfGetLint denetiminin,?.ve!!operatörlerinin zincirleme kullanımlarını doğru şekilde işlememesine neden olan sorun düzeltildi. (b/157677616)
Sürüm 1.3.0-alpha05
20 Mayıs 2020
androidx.fragment:fragment:1.3.0-alpha05, androidx.fragment:fragment-ktx:1.3.0-alpha05 ve androidx.fragment:fragment-testing:1.3.0-alpha05 yayınlandı. 1.3.0-alpha05 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentiçindeViewkullanılırken Lifecycle2.3.0-alpha03'danViewTreeViewModelStoreOwnerve SavedState1.1.0-alpha01'tenViewTreeSavedStateRegistryOwneriçin destek eklendi. (aosp/1297993, aosp/1300264)
API Değişiklikleri
setFragmentResult()vesetFragmentResultListener()API'leri artık sırasıyla boş olmayan birBundleveFragmentResultListenerparametresini kabul ediyor. Daha önce ayarlanmış bir sonucu veya dinleyiciyi açıkça temizlemek için yeniclearFragmentResult()veclearFragmentResultListener()yöntemlerini kullanın. (b/155416778)- Lambda alan
setFragmentResultListener()Kotlin uzantıları artıkinlineolarak işaretleniyor. (b/155323404)
Davranış Değişiklikleri
Fragmentüzerindeki daha önce desteği sonlandırılmışstartActivityForResult(),startIntentSenderForResult()verequestPermissionsartık dahili olarakActivityResultRegistrykullanıyor. Bu nedenle, bu API'leri kullanırken istek kodlarınız için yalnızca düşük bitleri (0xFFFF'ın altında) kullanma kısıtlaması kaldırıldı. (b/155518741)
Doküman Güncellemeleri
Fragment(@LayoutRes int)veDialogFragment(@LayoutRes int)oluşturucularla ilgili dokümanları genişleterek varsayılanFragmentFactorykullanılırken alt sınıflarınızın bağımsız oluşturucusundan çağrılmaları gerektiğini netleştirdik. (b/153042497)
Sürüm 1.3.0-alpha04
29 Nisan 2020
androidx.fragment:fragment:1.3.0-alpha04, androidx.fragment:fragment-ktx:1.3.0-alpha04 ve androidx.fragment:fragment-testing:1.3.0-alpha04 özellikleri kullanıma sunulur. 1.3.0-alpha04 sürümü şu commit'leri içerir.
Yeni Özellikler
FragmentManagerüzerindeki yeni API'ler aracılığıyla iki Fragment arasında sonuç geçirme desteği eklendi. Bu, hiyerarşi parçaları (üst/alt), DialogFragment'lar ve Gezinme'deki parçalar için geçerlidir. Ayrıca, sonuçların yalnızca Fragment'ınız en azSTARTEDdurumundayken gönderilmesini sağlar. (b/149787344)
API Değişiklikleri
- Hedef fragment API'leri kullanımdan kaldırıldı. Parçalar arasında veri aktarmak için bunun yerine yeni Fragment Result API'leri kullanılmalıdır. (b/149787344)
- Fragment'taki
startActivityForResult()/onActivityResult()verequestPermissions()/onRequestPermissionsResult()API'lerinin desteği sonlandırıldı. Lütfen Activity Result API'lerini kullanın. (aosp/1290887) - Etkinlik
1.2.0-alpha04ile ilgili uyumsuz değişiklik:prepareCall()yöntemi,registerForActivityResult()olarak yeniden adlandırıldı. (aosp/1278717)
Hata Düzeltmeleri
- Parçanın
getViewLifecycleOwner()işlevi artıkonSaveInstanceState()işlevi çağrılmadan önce durduruluyor. Bu, parçanın yaşam döngüsünün davranışını yansıtıyor. (b/154645875) - Bir parçada
setMenuVisibility(false)işlevi çağrıldığında, alt parçaları tarafından sağlanan menülerin görünürlüğü artık doğru şekilde değiştiriliyor. (b/153593580) FragmentContainerViewile bir parçacıkDialogFragment'nin görünüm hiyerarşisine eklenirken oluşanillegalStateExceptiondüzeltildi. (b/154366601)- Parçalarınızı bir etkinliğin dışında barındırdığınızda parçalardaki
getDefaultViewModelProviderFactory()yöntemi artık kilitlenmiyor. (b/153762914)
Sürüm 1.3.0-alpha03
1 Nisan 2020
androidx.fragment:fragment:1.3.0-alpha03, androidx.fragment:fragment-ktx:1.3.0-alpha03 ve androidx.fragment:fragment-testing:1.3.0-alpha03 özellikleri kullanıma sunulur. 1.3.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
FragmentüzerindekiprepareCallyöntemleri artıkfinal. (b/152439361)
Hata Düzeltmeleri
BottomSheetDialogFragmentkullanılırken Fragment1.3.0-alpha02'ta ortaya çıkan gerileme düzeltildi. (b/151652127, aosp/1263328, aosp/1265163)- Yapılandırma değişikliğinden sonra bir parçadan
prepareCallkullanılırken yaşanan kilitlenme sorunu düzeltildi. (b/152137004) setTargetFragment()kullanılırken paylaşılan öğe ve çıkış geçişlerinin yoksayılmasına neden olan sorun düzeltildi. (b/152023196)- Fragment
1.2.4: Fragment ProGuard kuralları, tutulan parçaların karartılmasına izin verecek şekilde güncellendi. (b/151605338) - Fragment
1.2.4: Yaşam döngüleri ve görünüm yaşam döngüleri her zaman senkronize olduğundanFragmentLiveDataObserveLint kuralıDialogFragmentsınıflarında devre dışı bırakıldı. Bu nedenle,observeçağrılırkenthisveyaviewLifecycleOwnerkullanmak güvenlidir. (b/151765086)
Bağımlılık Değişiklikleri (Dependency Changes)
- Parçalar, Activity
1.2.0-alpha03'e bağlıdır. Activity1.2.0-alpha02'te Activity Result API'sinde önemli iyileştirmeler yapılmıştır.
Sürüm 1.3.0-alpha02
18 Mart 2020
androidx.fragment:fragment:1.3.0-alpha02, androidx.fragment:fragment-ktx:1.3.0-alpha02 ve androidx.fragment:fragment-testing:1.3.0-alpha02 yayınlandı. 1.3.0-alpha02 sürümü şu commit'leri içerir.
Yeni Özellikler
startActivityForResult()+onActivityResult()verequestPermissions()+onRequestPermissionsResult()akışlarını işlemek için Activity1.2.0-alpha02'de kullanıma sunulanActivityResultRegistryAPI'si için destek eklendi. Bu sayede, bu akışları test etmek için kancalar sağlamanın yanı sıra Fragment'ınızdaki yöntemleri geçersiz kılmadan bu akışları işleyebilirsiniz. Güncellenen Bir Etkinlikten Sonuç Alma başlıklı makaleyi inceleyin. (b/125158199)
API Değişiklikleri
DialogFragmentartıkonCreateView()öğesinin varsayılan olarak genişletmesi gereken düzeni belirten bir@LayoutResalan oluşturucu sağlar. (b/150327080)onActivityCreated()yöntemi artık kullanımdan kaldırıldı. Parçanın görünümüne dokunan kodonViewCreated()içinde (onActivityCreated()'den hemen önce çağrılır) yapılmalı, diğer başlatma kodu iseonCreate()içinde olmalıdır. Özellikle etkinliğinonCreate()tamamlandığında geri arama almak içinonAttach()içindeki etkinliğinLifecycleüzerinde birLifeCycleObserverkaydedilmeli veonCreate()geri araması alındıktan sonra kaldırılmalıdır. (b/144309266)
Hata Düzeltmeleri
- Fragment
1.2.3:onCreateDialog()içindengetLayoutInflater()çağrılırkenStackOverflowError'ye neden olanDialogFragment'deki hata düzeltildi. (b/117894767, aosp/1258664) - Fragment
1.2.3: Kullanılmayan Fragment sınıflarının kaldırılabilmesi için Fragment'ın dahil edilen ProGuard kurallarının kapsamı daraltıldı. (b/149665169) - Parça
1.2.3: Kotlin özelliği adını gölgeleyen yerel bir değişken adı kullanılırkenUseRequireInsteadOfGetLint kontrolündeki yanlış pozitifler düzeltildi. (b/149891163) - Fragment
1.2.3:FragmentContainerViewartık düzen önizlemesinde yanlış oluşturucu kullanıldığındaUnsupportedOperationExceptionoluşturmuyor. (b/149707833)
Bilinen Sorunlar
BottomSheetDialogFragmentartık iletişim kutusunu ekranda doğru şekilde konumlandırmıyor. (b/151652127)
Sürüm 1.3.0-alpha01
4 Mart 2020
androidx.fragment:fragment:1.3.0-alpha01, androidx.fragment:fragment-ktx:1.3.0-alpha01 ve androidx.fragment:fragment-testing:1.3.0-alpha01 özellikleri kullanıma sunulur. 1.3.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
ViewTreeLifecycleOwner.get(View)API'si için destek eklendi. Bu API, Lifecycle2.3.0-alpha01'da eklenmişti.onCreateView()tarafından döndürülen tüm Görünümler içinLifecycleOwnerolarak Fragment'ınviewLifecycleOwnerdeğerini döndürür. (aosp/1182955)
API Değişiklikleri
- Parçalardaki
setRetainInstance()yöntemi kullanımdan kaldırıldı. ViewModels'in kullanıma sunulmasıyla birlikte geliştiriciler, durumun korunması için Etkinlikler, Parçalar ve Gezinme grafikleriyle ilişkilendirilebilen belirli bir API'ye sahip oldu. Bu sayede geliştiriciler, normal (tutulmayan) bir Fragment kullanabilir ve tutulmasını istedikleri belirli durumu ayrı tutabilir. Böylece, tutulan durumun tek bir oluşturma ve yok etme işleminin faydalı özelliklerini (yaniViewModeloluşturucusu ve aldığıonCleared()geri çağırması) korurken yaygın bir bellek sızıntısı kaynağı önlenir. (b/143911815) - ViewPager2
1.0.0'nin yayınlanmasıyla birlikteViewPagerile etkileşim için kullanılanFragmentPagerAdapterveFragmentStatePagerAdaptersınıfları kullanımdan kaldırıldı. ViewPager'dan ViewPager2'ye taşıma başlıklı makaleyi inceleyin. (b/145132715)
Hata Düzeltmeleri
- Fragment ProGuard kuralları artık yalnızca kullanılan
Fragmentsınıfları için varsayılan oluşturucuları doğru şekilde tutarak Fragment1.2.1'ta ortaya çıkan bir gerilemeyi düzeltiyor.Fragment(b/149665169 require___()Fragment1.2.2'a eklenen Lint kuralları artık gölgelenen Kotlin özellik adlarıyla aynı ada sahip yerel değişkenlerde yanlış pozitif sonuç vermiyor (ör.view). (b/149891163)- Android Studio'da düzen önizlemesi kullanılırken artık
FragmentContainerViewistisnası oluşturulmuyor.UnsupportedOperationException(b/149707833) - Durum kaydedildikten sonra eklenen tutulan parçaların sürekli olarak yeniden oluşturulup her yapılandırma değişikliğinden sonra yok edilmemesine neden olan sorun düzeltildi. (b/145832397)
Sürüm 1.2.5
Sürüm 1.2.5
10 Haziran 2020
androidx.fragment:fragment:1.2.5, androidx.fragment:fragment-ktx:1.2.5 ve androidx.fragment:fragment-testing:1.2.5 özellikleri kullanıma sunulur. 1.2.5 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Parçanın
getViewLifecycleOwner()işlevi artıkonSaveInstanceState()işlevi çağrılmadan önce durduruluyor. Bu, parçanın yaşam döngüsünün davranışını yansıtıyor. Bu özellik daha önce Fragment1.3.0-alpha04'ta yayınlanmıştı. (b/154645875) - Bir parçada
setMenuVisibility(false)işlevi çağrıldığında, alt parçaları tarafından sağlanan menülerin görünürlüğü artık doğru şekilde değiştiriliyor. Bu özellik daha önce Fragment1.3.0-alpha04'ta yayınlanmıştı. (b/153593580)
Sürüm 1.2.4
Sürüm 1.2.4
1 Nisan 2020
androidx.fragment:fragment:1.2.4, androidx.fragment:fragment-ktx:1.2.4 ve androidx.fragment:fragment-testing:1.2.4 özellikleri kullanıma sunulur. 1.2.4 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Fragment ProGuard kuralları, tutulan parçaların karartılmasına izin verecek şekilde güncellendi. (b/151605338)
- Yaşam döngüleri ve görünüm yaşam döngüleri her zaman senkronize olduğundan
FragmentLiveDataObserveLint kuralıDialogFragmentsınıflarında devre dışı bırakıldı. Bu nedenle,observeçağrılırkenthisveyaviewLifecycleOwnerkullanmak güvenlidir. (b/151765086)
Sürüm 1.2.3
Sürüm 1.2.3
18 Mart 2020
androidx.fragment:fragment:1.2.3, androidx.fragment:fragment-ktx:1.2.3 ve androidx.fragment:fragment-testing:1.2.3 yayınlandı. 1.2.3 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
DialogFragment'da,onCreateDialog()içindengetLayoutInflater()çağrılırkenStackOverflowError'ye neden olan hata düzeltildi. (b/117894767, aosp/1258665)- Kullanılmayan Fragment sınıflarının kaldırılabilmesi için Fragment'in içerdiği ProGuard kurallarının kapsamı daraltıldı. (b/149665169)
- Kotlin özellik adını gölgeleyen yerel değişken adı kullanıldığında
UseRequireInsteadOfGetLint kontrolündeki yanlış pozitifler düzeltildi. (b/149891163) FragmentContainerViewartık düzen önizlemesinde yanlış oluşturucu kullanıldığındaUnsupportedOperationExceptionoluşturmuyor. (b/149707833)
Sürüm 1.2.2
Sürüm 1.2.2
19 Şubat 2020
androidx.fragment:fragment:1.2.2, androidx.fragment:fragment-ktx:1.2.2 ve androidx.fragment:fragment-testing:1.2.2 özellikleri kullanıma sunulur. 1.2.2 sürümü şu commit'leri içerir.
Yeni hata analizi kontrolleri
- Lint,
onCreateView(),onViewCreated()veonActivityCreated()'takiOnBackPressedDispatcher'ye yapılan aramalar içinLifecycleOwnerolarakviewLifecycleOwner'nın kullanılmasını önerir. (b/142117657) fragment-testingyapısını kullanırken doğrudebugImplementationkullandığınızı doğrulayan yeni bir Lint kontrolü eklendi. (b/141500106)- Parçalar artık hem
gethem derequireeşdeğeri içeren tüm Parça API'leri içincheckNotNull(get___()),requireNonNull(get___())veyaget___()!!yerine daha açıklayıcı hata mesajları için ilişkilirequire___()yöntemlerinin kullanılmasını öneriyor. (aosp/1202883)
Hata Düzeltmeleri
- R8 uyarılarını önlemek için Fragment ProGuard dosyaları düzeltildi (b/148963981).
viewLifecycleOwnerkullanırkenobservekullanmayı öneren mevcut Lint kontrolü,observe'ninlivedata-ktxuzantı yöntemi sürümünü de işleyecek şekilde iyileştirildi. (b/148996309)- Hata analizi kontrollerinin çoğunda biçimlendirme düzeltildi (aosp/1157012)
Harici katkılar
require___()Lint kontrollerini Slack adına gönderdiği için Zac Sweers'e teşekkür ederiz. (aosp/1202883)
Sürüm 1.2.1
Sürüm 1.2.1
5 Şubat 2020
androidx.fragment:fragment:1.2.1, androidx.fragment:fragment-ktx:1.2.1 ve androidx.fragment:fragment-testing:1.2.1 özellikleri kullanıma sunulur. 1.2.1 sürümü şu commit'leri içerir.
Hata düzeltmeleri
addvereplaceyöntemleriyle eklenen veClassörneği (veya Kotlin reified sürümleri) alan parçaların varsayılan oluşturucusu artık ProGuard tarafından korunuyor. (b/148181315)FragmentStatePagerAdapterveFragmentPagerAdapter,finishUpdate()çalıştırılırkenFragmentManagertarafından oluşturulan istisnaları artık yakalamıyor. (aosp/1208711)FragmentManager.findFragment()öğesinin,<fragment>etiketiyle eklenen parçalarla çalışmaması sorunu düzeltildi. (b/147784323)<fragment>etiketi kullanılarak şişirilmiş parçalar, artık düzende olduklarındaonCreate()'den önce her zamanonInflate()için bir çağrı alır. (aosp/1215856)- Bir
FragmentManagerörneğindetoString()çağrıldığında, Etkinlik zaten yok edilmişse artıkNullPointerExceptionoluşturulmuyor. (b/148189412)
Bağımlılık değişiklikleri
- Parçalar
1.2.1artık Lifecycle ViewModel SavedState2.2.0'e bağlıdır.
Sürüm 1.2.0
Sürüm 1.2.0
22 Ocak 2020
androidx.fragment:fragment:1.2.0, androidx.fragment:fragment-ktx:1.2.0 ve androidx.fragment:fragment-testing:1.2.0 özellikleri kullanıma sunulur. 1.2.0 sürümü şu commit'leri içerir.
1.1.0 sürümünden beri yapılan önemli değişiklikler
- FragmentContainerView:
FragmentContainerView,FrameLayoutveya diğer düzenlerin kullanımının yerine dinamik olarak eklenen Fragment'ler için kesinlikle önerilen kapsayıcıdır. Ayrıca,class,android:nameve isteğe bağlıandroid:taggibi<fragment>etiketiyle aynı parametreleri destekler ancak bu ilk parçayı eklemek için<fragment>tarafından kullanılan özel kod yolu yerine normal birFragmentTransactionkullanır. onDestroyView()zamanlama: Parçalar artıkonDestroyView()işlevini çağırmadan önce çıkış animasyonlarının, çıkış çerçevesi geçişlerinin ve çıkış AndroidX geçişlerinin (Transition1.3.0kullanılırken) tamamlanmasını bekliyor.- Sınıfa dayalı
add()vereplace():FragmentTransactionüzerindeadd()vereplace()içinClass<? extends Fragment>ve isteğe bağlıBundlebağımsız değişkenlerini alan yeni aşırı yüklemeler eklendi. Bu yöntemler, eklenecek Fragment örneğini oluşturmak içinFragmentFactorykullanır. Gerçekleştirilmiş türleri (ör.fragmentTransaction.replace<YourFragment>(R.id.container)) kullanan Kotlin uzantıları dafragment-ktx'ye eklendi. - Lifecycle ViewModel SavedState Integration:
SavedStateViewModelFactoryartıkby viewModels(),by activityViewModels(),ViewModelProvideroluşturucusu veya bir Fragment ileViewModelProviders.of()kullanılırken kullanılan varsayılan fabrika. - Yeni hata analizi kontrolleri:
LiveDataöğesinionCreateView(),onViewCreated()veyaonActivityCreated()konumlarından gözlemlerkengetViewLifecycleOwner()kullandığınızdan emin olmanızı sağlayan yeni bir hata analizi kontrolü eklendi. getFragmentManager()desteğinin sonlandırılması: Fragment'tekigetFragmentManager()verequireFragmentManager()yöntemlerinin desteği sonlandırıldı ve bu yöntemler, Fragment'in eklendiği null olmayanFragmentManagerdeğerini döndüren tek birgetParentFragmentManager()yöntemiyle değiştirildi (çağrılmasının güvenli olup olmadığını belirlemek içinisAdded()kullanabilirsiniz).FragmentManager.enableDebugLogging()desteğinin sonlandırılması: StatikFragmentManager.enableDebugLoggingyönteminin desteği sonlandırıldı. FragmentManager artıkFragmentManageretiketi içinLog.isLoggable()değerini dikkate alıyor. Böylece, uygulamanızı yeniden derlemedenDEBUGveyaVERBOSEgünlük kaydını etkinleştirebilirsiniz.
Bilinen Sorunlar
- Yalnızca
FragmentContainerViewüzerindeclassveyaandroid:nameözelliği aracılığıyla referans verilen parçalar, ProGuard tarafından otomatik olarak saklanmaz. Bu nedenle, her parça sınıfı için manuel olarak bir saklama kuralı eklemeniz gerekir. (b/142601969) FragmentContainerViewile XML'declassveyaandroid:namekullanarakNavHostFragmenteklerken EtkinliğinizinonCreate()bölümündefindNavController()kullanamazsınız. (b/142847973)
Sürüm 1.2.0-rc05
8 Ocak 2020
androidx.fragment:fragment:1.2.0-rc05, androidx.fragment:fragment-ktx:1.2.0-rc05 ve androidx.fragment:fragment-testing:1.2.0-rc05 özellikleri kullanıma sunulur. 1.2.0-rc05 sürümü şu commit'leri içerir.
Hata düzeltmeleri
<fragment>etiketi kullanılırken Fragment1.2.0-rc04'da gerilemeye neden olan ve etkinlik yok edilirkenonViewCreated()'ın yanlış şekilde çağrılmasına yol açan hata düzeltildi. (b/146290333)<fragment>etiketiyle eklenen parçaların, yalnızca bazen düzende olsalar bile (ör. yalnızca yatay düzeninizde) yapılandırılmamış kısımları artık düzgün şekilde temizleniyor. Sonuç olarak, bu parçalar artık düzeninizde olmasalar bile başlatılıp hiçbir yaşam döngüsü yöntemiyle taşınmak yerine doğru şekildeCREATED'ya taşınıyor. (b/145769287)
Sürüm 1.2.0-rc04
18 Aralık 2019
androidx.fragment:fragment:1.2.0-rc04, androidx.fragment:fragment-ktx:1.2.0-rc04 ve androidx.fragment:fragment-testing:1.2.0-rc04 özellikleri kullanıma sunulur. 1.2.0-rc04 sürümü şu commit'leri içerir.
Hata düzeltmeleri
- Görsel sorunları önlemek için
TRANSIT_FRAGMENT_OPEN,TRANSIT_FRAGMENT_CLOSEveTRANSIT_FRAGMENT_FADEanimasyonları ayarlandı. (b/145468417)
Sürüm 1.2.0-rc03
4 Aralık 2019
androidx.fragment:fragment:1.2.0-rc03, androidx.fragment:fragment-ktx:1.2.0-rc03 ve androidx.fragment:fragment-testing:1.2.0-rc03 özellikleri kullanıma sunulur. 1.2.0-rc03 sürümü şu commit'leri içerir.
Hata düzeltmeleri
- Kaldırılan parçaların çıkış animasyonları / geçişleri çalışırken
findFragmentById()/findFragmentByTag()tarafından döndürülmeye devam edildiği istenmeyen davranış değişikliği düzeltildi. (b/143982969, aosp/1167585) - Kapsayan etkinlik
onSaveInstanceState()işlevini çağırdığında alt parçalar artık üst parçalarından önce doğru şekilde durduruluyor. (b/144380645) - Gizli bir Fragment açıldıktan sonra Görünümlerin yanlışlıkla
INVISIBLEolarak işaretlenmesine neden olan sorun düzeltildi. (b/70793925) - Paylaşılan öğe geçişleri artık döndürülmüş, ölçeklendirilmiş vb. görünümleri işleyebiliyor (b/142835261).
Doküman Güncellemeleri
setUserVisibleHint()ile ilgili desteğin sonlandırılması dokümanı netleştirildi. (b/143897055)setFragmentFactory()vegetFragmentFactory()ile ilgili dokümanları iyileştirerekFragmentFactoryayarlanmasının alt FragmentManager'ları da etkileyeceğini daha iyi belirttik. (aosp/1170095)
Bağımlılık değişiklikleri
- Parçalar artık Lifecycle
2.2.0-rc03, Lifecycle ViewModel SavedState1.0.0-rc03ve Activity1.1.0-rc03'ye bağlıdır.
Sürüm 1.2.0-rc02
7 Kasım 2019
androidx.fragment:fragment:1.2.0-rc02, androidx.fragment:fragment-ktx:1.2.0-rc02 ve androidx.fragment:fragment-testing:1.2.0-rc02 özellikleri kullanıma sunulur. 1.2.0-rc02 sürümü şu commit'leri içerir.
Hata düzeltmeleri
- Kotlin'de
onCreateView(),onViewCreated()veyaonActivityCreated()kaynaklıLiveDatagözlemlenirkengetViewLifecycleOwner()kullanılmasına yönelik LintFix (Fragment1.2.0-rc01'te kullanıma sunulmuştur) artıkgetViewLifecycleOwner()yerine Kotlin özellik erişimi söz dizimiviewLifecycleOwner'nı kullanıyor. (aosp/1143821)
Sürüm 1.2.0-rc01
23 Ekim 2019
androidx.fragment:fragment:1.2.0-rc01, androidx.fragment:fragment-ktx:1.2.0-rc01 ve androidx.fragment:fragment-testing:1.2.0-rc01 özellikleri kullanıma sunulur. 1.2.0-rc01 sürümü şu commit'leri içerir.
Yeni özellikler
FragmentContainerViewartıkandroid:name'ye ek olarakclassözelliğini de destekliyor ve<fragment>etiketinin işlevini yansıtıyor. (b/142722242)onCreateView(),onViewCreated()veyaonActivityCreated()kaynaklıLiveData'yi gözlemlerkengetViewLifecycleOwner()kullandığınızdan emin olmanızı sağlayan yeni bir Lint kontrolü eklendi. (b/137122478)
Hata düzeltmeleri
DialogFragmentüzerindekionDismissveonCancelgeri çağırmaları artık kendilerine iletilenDialogInterfacedeğerinin null olmadığını ve yürütüldüklerindegetDialog()değerinin null olmayan bir değer döndürdüğünü garanti eder. (b/141974033)FragmentContainerViewartıkclassveyaandroid:nametarafından tanımlanan parçayı enflasyonun bir parçası olarak ekleyerekfindFragmentById()vefindFragmentByTag()'nin hemen ardından çalışmasını sağlar. (b/142520327)- Durum kaydedildiği için
FragmentContainerViewiçindeIllegalStateExceptiondüzeltildi. (b/142580713) FragmentContainerViewsınıfı kod karartıldığındaFragmentContainerViewiçindekiUnsupportedOperationExceptiondüzeltildi. (b/142657034)
Bilinen sorunlar
- Yalnızca
FragmentContainerViewüzerindeclassveyaandroid:nameözelliği aracılığıyla referans verilen parçalar, ProGuard tarafından otomatik olarak saklanmaz. Bu nedenle, her parça sınıfı için manuel olarak bir saklama kuralı eklemeniz gerekir.FragmentContainerView'ya geçişi öneren Lint kuralını,aapt2üzerinden düzeltilene kadar devre dışı bıraktık. (b/142601969)
Sürüm 1.2.0-beta02
11 Ekim 2019
androidx.fragment:fragment:1.2.0-beta02, androidx.fragment:fragment-ktx:1.2.0-beta02 ve androidx.fragment:fragment-testing:1.2.0-beta02 özellikleri kullanıma sunulur. 1.2.0-beta02 sürümü şu commit'leri içerir.
Hata düzeltmeleri
- Parçanın
onInflate()öğesininFragmentContainerViewöğesinden uygun özellikleri almaması nedeniyleNavHostFragmentgibi durumların bozulmasına neden olan sorun düzeltildi. (b/142421837)
Sürüm 1.2.0-beta01
9 Ekim 2019
androidx.fragment:fragment:1.2.0-beta01, androidx.fragment:fragment-ktx:1.2.0-beta01 ve androidx.fragment:fragment-testing:1.2.0-beta01 yayınlandı. 1.2.0-beta01 sürümü şu commit'leri içerir.
Yeni özellikler
FragmentContainerView,android:nameve isteğe bağlıandroid:tagXML özelliklerinin eklenmesiyle birlikte başlangıç parçası ekleme desteği sunar.<fragment>etiketinden farklı olarakFragmentContainerView, ilk parçayı eklemek için arka planda normal birFragmentTransactionkullanır. Bu sayede,FragmentContainerViewüzerinde başkaFragmentTransactionişlemleri yapılabilir ve düzen için View Binding'in kullanılması sağlanır. (b/139830628, b/141177981)- Fragments artık
<fragment>yerineFragmentContainerView'yi kullanmak için hızlı düzeltme sunan bir hata analizi uyarısı içeriyor. (b/139830056)
Hata düzeltmeleri
androidx.transitionkullanılırkenClassCastExceptiondüzeltildi. (b/140680619)- Transition
1.3.0-beta01kullanılırken parçalar artıkonDestroyView()işlemini göndermeden önceandroidx.transitiongeçişlerinin (sırasıyla Fragment1.2.0-alpha03ve Fragment1.2.0-alpha02'te düzeltilen çerçeve geçişleri ve animasyonlara ek olarak) tamamlanmasını bekliyor. (aosp/1119841) - Geçiş
1.3.0-beta01kullanılırken artık Fragment'lar, aynı kapsayıcıda yeni geçişler / animasyonlar başlatmadan önceandroidx.transitiongeçişlerini düzgün şekilde iptal ediyor. (aosp/1119841) FragmentContainerViewkullanılırkenandroidx.transitionkullanıldığında API 17 ve önceki sürümlerde Fragment'ınızın kök görünümünde geçişlerin kullanılmasıyla ilgili sorun düzeltildi. (b/140361893)fragment-testingyapısı artık AndroidX Test1.2.0'e bağlıdır ve en yeni Espresso 3.2.0 ile uyumsuzluk düzeltilmiştir. (b/139100149)- FragmentManager'da
Log.wkullanımı kaldırıldı. (aosp/1126468)
Bilinen sorunlar
- Parçanın
onInflate()öğeleri,FragmentContainerViewöğesinden uygun özellikleri almıyor veNavHostFragmentgibi durumlar bozuluyor. (b/142421837)
Sürüm 1.2.0-alpha04
18 Eylül 2019
androidx.fragment:fragment:1.2.0-alpha04, androidx.fragment-ktx:example:1.2.0-alpha04 ve androidx.fragment:fragment-testing:1.2.0-alpha04 özellikleri kullanıma sunulur. 1.2.0-alpha04 sürümü şu commit'leri içerir.
API değişiklikleri
FragmentüzerindekigetFragmentManager()verequireFragmentManager()yöntemleri kullanımdan kaldırıldı ve Fragment'ın eklendiği null olmayanFragmentManagerdeğerini döndüren tek birgetParentFragmentManager()yöntemiyle değiştirildi (çağrılmasının güvenli olup olmadığını belirlemek içinisAdded()kullanabilirsiniz). (b/140574496)- Statik
FragmentManager.enableDebugLoggingyöntemi kullanımdan kaldırıldı. FragmentManager artıkFragmentManageretiketi içinLog.isLoggable()değerini dikkate alıyor. Böylece, uygulamanızı yeniden derlemedenDEBUGveyaVERBOSEgünlük kaydını etkinleştirebilirsiniz. (aosp/1116591)
Hata düzeltmeleri
- Parçalar artık diğer parçalardaki çıkış animasyonları çalışırken düzgün şekilde yok ediliyor. (b/140574199)
- Daha önce
Activity.findViewById()öğesini çağırmayan parçaların artık çağırmasına neden olan sorun düzeltildi. (aosp/1116431)
Sürüm 1.2.0-alpha03
5 Eylül 2019
androidx.fragment:fragment:1.2.0-alpha03, androidx.fragment:fragment-ktx:1.2.0-alpha03 ve androidx.fragment:fragment-testing:1.2.0-alpha03 yayınlandı. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
API değişiklikleri
FragmentContainerViewartıkfinal. (b/140133091)
Hata düzeltmeleri
FragmentContainerViewartık parçaları eski yığından çıkarırken çizim sırasını düzgün şekilde tersine çeviriyor. (b/139104187)- Hem bir parçayı kaldırma hem de aynı anda yeni bir parça ekleme işlemi yapıldığında yanlış animasyonun çalışmasına neden olan sorun düzeltildi. (b/111659726)
- Parçalar artık
onDestroyView()göndermeden önce geçişlerin (Fragment1.2.0-alpha02'te düzeltilen animasyonlara ek olarak) tamamlanmasını bekliyor. (b/138741697)
Sürüm 1.2.0-alpha02
7 Ağustos 2019
androidx.fragment:fragment:1.2.0-alpha02, androidx.fragment:fragment-ktx:1.2.0-alpha02 ve androidx.fragment:fragment-testing:11.2.0-alpha02 yayınlandı. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Yeni özellikler
SavedStateViewModelFactoryartıkby viewModels(),by activityViewModels(),ViewModelProvideroluşturucu veyaViewModelProviders.of()ileFragmentkullanılırken varsayılan olarak kullanılan fabrika. (b/135716331)TRANSIT_FRAGMENT_OPEN,TRANSIT_FRAGMENT_CLOSE,TRANSIT_FRAGMENT_FADEilesetTransition'ıFragmentTransactionüzerinde kullanırken varsayılan animasyonlar, Android 10 cihazlardaki etkinlikler tarafından kullanılan animasyonlarla eşleşecek şekilde güncellendi. (aosp/1012812, aosp/1014730)
API değişiklikleri
- Animasyon z-sıralama sorunlarını ve pencere yerleşimlerinin Fragment'lere gönderilmesini düzelttiği için
FrameLayoutvb. kullanımının yerine dinamik olarak eklenen Fragment'ler için şiddetle tavsiye edilen kapsayıcı olarakFragmentContainerViewöğesini kullanıma sunar. (b/37036000, aosp/985243, b/136494650) - Bir fragment tarafından şişirilmiş bir görünümden kapsayan Fragment'ı almak için statik bir
FragmentManager.findFragment(View)yöntemi eklendi.fragment-ktxiçin Kotlin uzantısı da mevcuttur. (aosp/1090757) FragmentTransactionüzerinde,Class<? extends Fragment>ve isteğe bağlıBundlebağımsız değişkenlerini alanadd()vereplace()için yeni aşırı yüklemeler eklendi. Bu yöntemler, eklenecek Fragment örneğini oluşturmak içinFragmentFactorykullanır. Gerçekleştirilmiş türleri (ör.fragmentTransaction.replace<YourFragment>(R.id.container)) kullanan Kotlin uzantıları dafragment-ktx'ye eklendi. (b/126124987)@MainThreadek açıklamaları,Fragmentyaşam döngüsü geri çağırmalarına eklendi. (b/127272564)FragmentTransactionveFragmentManager.BackStackEntryüzerindeki içerik haritası başlığıyla ilgili API'lerin desteği sonlandırıldı. (b/138252944)FragmentTransactionüzerindekisetTransitionStyleyöntemi kullanım dışı bırakıldı. (aosp/1011537)FragmentManagerbölümündeki yöntemlerin çoğu artıkabstractdeğil.FragmentManageröğesiabstractolarak kalır ve doğrudan oluşturulmamalı veya genişletilmemelidir. YalnızcagetSupportFragmentManager(),getChildFragmentManager()vb. öğelerden mevcut bir örneği almaya devam etmelisiniz.
Hata düzeltmeleri
- Parça
1.1.0-rc04: Parçalar artık ertelenen geçişleri, parçalar çıkarıldığında doğru şekilde iptal ediyor. (b/138251858) - Fragment
1.1.0-rc03:postponeEnterTransition()işlevinin birden fazla kez zaman aşımıyla çağrılmasının önceki zaman aşımlarını iptal etmemesine neden olan sorun düzeltildi. (b/137797118) - Parça
1.1.0-rc02: Mevcut öğe kaldırılırkenFragmentPagerAdapterveFragmentStatePagerAdapter'de kilitlenme sorunu düzeltildi. (b/137209870) - Parçalar artık göndermeden önce animasyonların tamamlanmasını bekliyor
onDestroyView(). (b/136110528) - Artık üst parçayı animasyonlandırırken alt parçalardan ve bunların alt öğelerinden gelen parça animasyonları düzgün şekilde işleniyor. (b/116675313)
- Paylaşılan öğe geçişleri kullanılırken ve bir pop ile ekleme işlemi birleştirilirken oluşan
NullPointerExceptiondüzeltildi. (b/120507394) - Robolectric testlerinde
FragmentPagerAdapterveFragmentStatePagerAdapterkullanılırkenIllegalStateExceptionile ilgili geçici çözüm eklendi. (b/137201343)
Sürüm 1.2.0-alpha01
2 Temmuz 2019
androidx.fragment:fragment:1.2.0-alpha01, androidx.fragment:fragment-ktx:1.2.0-alpha01 ve androidx.fragment:fragment-testing:1.2.0-alpha01 özellikleri kullanıma sunulur. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Yeni özellikler
- FragmentManager artık Fragment'ın görünümünü ekledikten ve doğrudan
onViewCreated()işlevini çağırmadan öncerequestApplyInsets()işlevini çağırarak görünümünüzün her zaman doğru iç kısımlara sahip olmasını sağlar. (b/135945162)
Hata düzeltmeleri
replace()öncesindesetPrimaryNavigationFragment()kullanılan birFragmentTransactionaçılırken oluşanNullPointerExceptiondüzeltildi. (b/134673465)
Sürüm 1.1.0
Sürüm 1.1.0
5 Eylül 2019
androidx.fragment:fragment:1.1.0, androidx.fragment:fragment-ktx:1.1.0 ve androidx.fragment:fragment-testing:1.1.0 özellikleri kullanıma sunulur. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
1.0.0 sürümünden beri yapılan önemli değişiklikler
- fragment-testing:
fragment-testingyapısı, bir parçayı yalıtılmış olarak test etmek içinFragmentScenariosınıfını sağlar. Daha fazla bilgi için Uygulamanızın parçalarını test etme dokümanına bakın. - FragmentFactory: Artık parça örneklerinin oluşturulmasını yönetmek için
FragmentManagerüzerindeFragmentFactoryayarlayabilir ve bağımsız değişken içermeyen bir oluşturucuya sahip olma zorunluluğunu kaldırabilirsiniz. - ViewModel'ler için Kotlin Özellik Delegeleri:
fragment-ktxyapısı artık iki Kotlin özellik delegesi içeriyor:by viewModels(), tek bir parçayla ilişkili ViewModel'lere erişmek için,by activityViewModels()ise etkinliğe kapsamı belirlenmiş ViewModel'lere erişmek için kullanılır. - Maksimum yaşam döngüsü: Artık bir
FragmentTransactionüzerindesetMaxLifecycle()işlevini çağırarak bir Fragment için maksimum yaşam döngüsü durumu ayarlayabilirsiniz. Bu API, artık desteği sonlandırılansetUserVisibleHint()API'sinin yerini almıştır.FragmentPagerAdapterveFragmentStatePagerAdapter, yeni davranışa geçmenize olanak tanıyan yeni bir oluşturucuya sahiptir. - FragmentActivity LayoutId oluşturucusu:
FragmentActivityalt sınıfları artıkonCreate()içindesetContentView()'i çağırmak yerine alternatif olarak içerik görünümü olarak ayarlanması gereken düzeni belirten birR.layoutkimliği alanFragmentActivityüzerinde isteğe bağlı olarak bir oluşturucuyu çağırabilir. Bu, alt sınıfınızın bağımsız bir oluşturucuya sahip olması şartını değiştirmez. - Fragment LayoutId oluşturucusu:
Fragmentalt sınıfları artıkonCreateView()'i geçersiz kılmaya alternatif olarak bu parça için kullanılması gereken düzeni belirten birR.layoutkimliği alanFragmentüzerinde isteğe bağlı olarak bir oluşturucuyu çağırabilir. Şişirilmiş düzen,onViewCreated()içinde yapılandırılabilir. - Zaman aşımıyla erteleme: Zaman aşımı uygulayan yeni bir
postponeEnterTransition()aşırı yüklemesi eklendi.
Sürüm 1.1.0-rc04
7 Ağustos 2019
androidx.fragment:fragment:1.1.0-rc04, androidx.fragment:fragment-ktx:1.1.0-rc04 ve androidx.fragment:fragment-testing:1.1.0-rc04 yayınlandı. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Hata düzeltmeleri
- Parçalar artık ertelenen geçişleri, parçalar çıkarıldığında doğru şekilde iptal ediyor. (b/138251858)
Sürüm 1.1.0-rc03
19 Temmuz 2019
androidx.fragment:fragment:1.1.0-rc03, androidx.fragment:fragment-ktx:1.1.0-rc03 ve androidx.fragment:fragment-testing:1.1.0-rc03 yayınlandı. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Hata düzeltmeleri
postponeEnterTransition()işlevinin zaman aşımıyla birden fazla kez çağrılmasının önceki zaman aşımlarını iptal etmemesine neden olan sorun düzeltildi. (b/137797118)
Sürüm 1.1.0-rc02
17 Temmuz 2019
androidx.fragment:fragment:1.1.0-rc02, androidx.fragment:fragment-ktx:1.1.0-rc02 ve androidx.fragment-testing:fragment:1.1.0-rc02 özellikleri kullanıma sunulur. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Hata düzeltmeleri
- Mevcut öğe kaldırılırken
FragmentPagerAdapterveFragmentStatePagerAdapter'de kilitlenme sorunu düzeltildi. (b/137209870)
Sürüm 1.1.0-rc01
2 Temmuz 2019
androidx.fragment:fragment:1.1.0-rc01, androidx.fragment:fragment-ktx:1.1.0-rc01 ve androidx.fragment:fragment-testing:1.1.0-rc01 özellikleri kullanıma sunulur. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Hata düzeltmeleri
- Parçalar, geçiş devam ederken
show()veyahide()işlemleri kullanıldığında artık görünürlüklerini düzgün şekilde güncelliyor. (b/133385058) replace()öncesindesetPrimaryNavigationFragment()kullanılan birFragmentTransactionaçılırken oluşanNullPointerExceptiondüzeltildi. (b/134673465)
Sürüm 1.1.0-beta01
5 Haziran 2019
androidx.fragment:fragment:1.1.0-beta01, androidx.fragment:fragment-ktx:1.1.0-beta01 ve androidx.fragment:fragment-testing:1.1.0-beta01 yayınlandı. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Hata düzeltmeleri
- İç içe yerleştirilmiş Fragment'ler için
androidx.lifecycle.Lifecyclegeri çağırmaları (özellikleSTARTED,RESUMED,PAUSED,STOPPEDveDESTROYEDile ilgili) artık düzgün şekilde iç içe yerleştiriliyor. (b/133497591) - Bir Fragment'ın
onCreate()içinde kaydedilenOnBackPressedCallbackörnekleri artık alt FragmentManager'a göre önceliklidir. (b/133175997) - Üst öğe parçası değiştirilirken alt öğe parçaları artık animasyonlu olarak gösterilmiyor. (b/121017790)
- Artık
animateLayoutChanges="true"kullanılırken parçalarla ilgili animasyonlar ve geçişler yoksayılıyor. Bu sayede, parçaların düzgün şekilde yok edilmemesine neden olan sorun düzeltildi. (b/116257087)
Sürüm 1.1.0-alpha09
16 Mayıs 2019
androidx.fragment:fragment:1.1.0-alpha09, androidx.fragment:fragment-ktx:1.1.0-alpha09 ve androidx.fragment:fragment-testing:1.1.0-alpha09 özellikleri kullanıma sunulur. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
API değişiklikleri
- Birincil gezinme parçası değiştiğinde artık parçalar yeni bir
onPrimaryNavigationFragmentChanged(boolean)yöntemine geri çağırma alıyor. aosp/960857
Hata düzeltmeleri
- Bir alt fragment tarafından şişirilen menü öğeleri, üst fragment kaldırıldığında artık doğru şekilde kaldırılıyor. b/131581013
Sürüm 1.1.0-alpha08
7 Mayıs 2019
androidx.fragment:fragment:1.1.0-alpha08, androidx.fragment:fragment-ktx:1.1.0-alpha08 ve androidx.fragment:fragment-testing:1.1.0-alpha08 özellikleri kullanıma sunulur. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Bu sürüm, Preferences 1.1.0-alpha01 ile 1.1.0-alpha04 sürümleriyle uyumlu değildir. Fragments'ın bu sürümünü kullanırken lütfen Preferences 1.1.0-alpha05 sürümüne yükseltin.
Yeni özellikler
- Zaman aşımı süresini alan yeni bir
postponeEnterTransition()aşırı yüklemesi eklendi. Bu sürenin ardından Fragment,startPostponedEnterTransition()b/120803208'i otomatik olarak çağırır.
API değişiklikleri
- Önemli değişiklik: Daha önce desteği sonlandırılan ve
BundlealanFragmentFactoryinstantiateyöntemi kaldırıldı. aosp/953856 - Önemli değişiklik:
FragmentPagerAdapterveFragmentStatePagerAdapteriçindekiRESUME_ONLY_CURRENT_FRAGMENTveUSE_SET_USER_VISIBLE_HINTsabitleri sırasıylaBEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENTveBEHAVIOR_SET_USER_VISIBLE_HINTolarak yeniden adlandırıldı. aosp/954782
Hata düzeltmeleri
- Yaşam döngüsü
setMaxLifecycle()ile sınırlandırılmış olan parçalar, son durumlarına ulaşmadan önce artık devam ettirilmiyor. b/131557151 setMaxLifecycle(Lifecycle.State.CREATED)kullanılırken parçaların görünümü düzgün şekilde yok edilir. aosp/954180
Sürüm 1.1.0-alpha07
25 Nisan 2019
androidx.fragment:fragment:1.1.0-alpha07, androidx.fragment:fragment-ktx:1.1.0-alpha07 ve androidx.fragment:fragment-testing:1.1.0-alpha07 özellikleri kullanıma sunulur. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Yeni özellikler
- Artık bir
FragmentTransactionüzerindesetMaxLifecycle()işlevini çağırarak bir Fragment için maksimum yaşam döngüsü durumu ayarlayabilirsiniz. Bu API, artık desteği sonlandırılansetUserVisibleHint()API'sinin yerini almıştır.FragmentPagerAdapterveFragmentStatePagerAdapter, yeni davranışa geçmenize olanak tanıyan yeni bir oluşturucuya sahiptir. (b/129780800)
API Değişiklikleri
FragmentScenarioüzerindekimoveToState(STARTED)artık yalnızca API 24 ve sonraki sürümlere sahip cihazlarda çağrılabilir. (b/129880016)
Davranış Değişiklikleri
- (b/129907905) nedeniyle, arka yığında bulunan parçalar, barındırma etkinliği yeniden oluşturulduğunda
onCreateView()için geri çağırma almaz.onCreateView()artık yalnızca parça görünür hale geldiğinde (yani geri yığın çıkarıldığında) çağrılacak.
Hata düzeltmeleri
- XML'de
<fragment>etiketi veFragmentActivityveyaAppCompatActivityöğesinincontentLayoutIdoluşturucusu kullanılırken oluşan sorun düzeltildi. (b/129907905) - Yapılandırma değişikliğinden sonra arka yığındaki parçaların en az
CREATED'ya taşınmamasına ve bu nedenle ViewModel'lerin ve alt tutulan parçaların düzgün şekilde kaldırılmamasına neden olan sorun düzeltildi. (b/129593351) - Örnek durumu kaydedildikten sonra tutulan parçaların senkronizasyonunun bozulması nedeniyle
restoreSaveState'da kilitlenmeye neden olan sorun düzeltildi. (b/130433793) (aosp/947824) - Parça yaşam döngüsüyle eklenen bir
OnBackPressedCallback,FragmentManager'nin geri yığınında bulunuyorsa çağrılmamasına neden olan sorunlar düzeltildi. Daha fazla bilgi için androidx.activity 1.0.0-alpha07'ye bakın. (aosp/948209) - Parçalar artık animasyonlar için
LAYER_TYPE_HARDWAREzorunluluğu getirmiyor. Özellikle bir donanım katmanı animasyonuna ihtiyacınız varsa lütfen bunu animasyonunuzun bir parçası olarak ayarlayın. (b/129486478)
Sürüm 1.1.0-alpha06
3 Nisan 2019
androidx.fragment:fragment:1.1.0-alpha06, androidx.fragment:fragment-ktx:1.1.0-alpha06 ve androidx.fragment:fragment-testing:1.1.0-alpha06 özellikleri kullanıma sunulur. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.
Yeni özellikler
- FragmentManager tarafından oluşturulan istisnalar artık iletide Fragment'ın adını içeriyor. (b/67759402)
API Değişiklikleri
FragmentveFragmentActivityartık@LayoutRes intalan ikinci bir oluşturucu içeriyor. Bu oluşturucu, sınıfınıza@ContentViewile açıklama ekleme şeklindeki önceki davranışın yerini alıyor. Bu yaklaşım hem uygulama hem de kitaplık modüllerinde çalışır. (b/128352521)- FragmentActivity'nin
onActivityResult()alanı artık düzgün şekilde@CallSuperolarak işaretleniyor. (b/127971684) - FragmentFactory'nin bir Bundle bağımsız değişkeni alan
instantiateyöntemi kullanımdan kaldırıldı. Uygulamalar, Bundle almayan yeniinstantiateaşırı yüklemesini kullanmalıdır. (b/128836103) FragmentScenarioyöntemleri artık@StyleResile düzgün şekilde açıklama ekleniyor. (aosp/924193)FragmentTabHostdesteği sonlandırıldı. (b/127971835)- FragmentActivity'nin
getThemedContext()özelliği kaldırıldı. (aosp/934078)
Hata düzeltmeleri
- 1.1.0-alpha05 sürümünde, gelen parçanın ekranda yanıp sönmesine neden olan regresyon düzeltildi. (b/129405432)
- Bir popBackStack+replace+popBackStack işlem dizisinden sonra birincil gezinme parçasının kaybolmasına neden olan sorun düzeltildi. (b/124332597)
- Parça durumu geri yüklenirken Etkinliğinizde
@ContentViewoluşturucularını kullanmayla ilgili sorun düzeltildi. (b/127313094) - Mevcut bir hedef Fragment'ı FragmentManager'a henüz eklenmemiş bir Fragment ile değiştirirken
setTargetFragment()mantığı düzeltildi. (aosp/932156)
Sürüm 1.1.0-alpha05
13 Mart 2019
androidx.fragment:fragment:1.1.0-alpha05, androidx.fragment:fragment-ktx:1.1.0-alpha05 ve androidx.fragment:fragment-testing:1.1.0-alpha05 özellikleri kullanıma sunulur. Bu sürüme dahil edilen tüm commit'lerin listesini burada bulabilirsiniz.
Yeni özellikler
@ContentViewnot aramaları artık önbelleğe alınıyor (b/123709449)
Davranış değişiklikleri
- Farklı bir FragmentManager'a bağlı bir Fragment ile
remove(),hide(),show(),detach()vesetPrimaryNavigationFragment()'i çağırmak artık sessizce başarısız olmak yerineIllegalStateExceptionistisnası oluşturuyor (aosp/904301).
Hata düzeltmeleri
FragmentActivityiçinonNewIntentartık@CallSuperile doğru şekilde işaretleniyor (b/124120586)getDialog().dismiss()veyagetDialog().cancel()kullanılırkenDialogFragment'nınonDismiss()'sinin iki kez çağrılması sorunu düzeltildi (b/126563750).
Sürüm 1.1.0-alpha04
7 Şubat 2019
androidx.fragment:fragment 1.1.0-alpha04, androidx.fragment:fragment-ktx 1.1.0-alpha04 ve androidx.fragment:fragment-testing 1.1.0-alpha04 özellikleri kullanıma sunulur.
Yeni özellikler
@ContentViewsınıfı ek açıklaması için destek eklendi. Bu sayede,onCreateView()öğesini geçersiz kılmak yerine hangi düzen XML dosyasının genişletilmesi gerektiğini belirtebilirsiniz. İlgili çalışmalarıonViewCreated()'da görüntülemeniz önerilir. (aosp/837619)fragment-testingartıkandroidx.test:core-ktx1.1.0 kararlı sürümüne bağlıdır (b/121209673).- Artık Parça tarafından barındırılan seçenek menülerini test etmek için
openActionBarOverflowOrOptionsMenuileFragmentScenario'yi kullanabilirsiniz (b/121126668).
API değişiklikleri
requireArguments()veyaIllegalStateException(b/121196360) döndüren birrequireArguments()yöntemi eklendi.@NonNull BundlegetLifecycle(),getViewLifecycleOwner()vegetViewLifecycleOwnerLiveData()'nin geçersiz kılınmaması gerektiği ve gelecekteki bir sürümde nihai hale getirileceğiyle ilgili bir not eklendi. Şu anda bu yöntemi geçersiz kılıyorsanız lütfen özellik isteği gönderin. (aosp/880714)getViewModelStore()öğesinin geçersiz kılınmaması gerektiği ve gelecekteki bir sürümde nihai hale getirileceğiyle ilgili bir not eklendi. Şu anda bu yöntemi geçersiz kılıyorsanız lütfen özellik isteği gönderin. (aosp/880713)- Fragment'ların önceki sürümleriyle ikili uyumluluk sorunu düzeltildi. (aosp/887877) (aosp/889834)
Hata düzeltmeleri
nullöğesinisetTargetFragment()öğesine ilettiğinizde hedef parçalar doğru şekilde temizlenir. (aosp/849969)- Hedef parçaların bazen
onDestroy()içinde veya sonrasında kullanılamamasına neden olan sorun düzeltildi. (b/122312935) - DialogFragment'in onDismiss() yöntemi artık
onDestroy()'dan önce çağrılıyor. (aosp/874133) (aosp/890734)
Sürüm 1.1.0-alpha03
17 Aralık 2018
Yeni özellikler
- Fragment artık
BundleSavedStateRegistryOwneruyguluyor ve yeni yayınlanan SavedState kitaplığına [aosp/824380] bağlı. - Kapsayan Etkinlikle ilişkili ViewModel'leri almak için
by activityViewModelsKotlin özelliği temsilcisi eklendi [b/119050253] by viewModelsKotlin özelliği temsilcisi,ViewModelStoreOwneralmak için isteğe bağlı bir lambda yöntemi alacak şekilde genişletildi. Bu sayede, üst parçayı veya diğer özelViewModelStoreOwner'yival viewModel: MyViewModel by viewModels(::requireParentFragment)[b/119050253] gibi kodlarla iletebilirsiniz.
API değişiklikleri
FragmentScenarioartıkTheme.AppCompat[b/119054431] gibi bir tema belirtmenize olanak tanıyor. Bu, zarar veren bir değişikliktir.requireView()yöntemi eklendi. Bu yöntem,@NonNull Viewdöndürür veyaIllegalStateExceptionoluşturur [b/120241368].requireParentFragment()yöntemi eklendi. Bu yöntem@NonNull Fragmentdöndürür veyaIllegalStateExceptionoluşturur [b/112103783].
Hata düzeltmeleri
- Fixed IllegalStateException: Failure saving state b/120814739 (Sabit IllegalStateException: Durum kaydedilemedi b/120814739)
- Kaydedilmiş örnek durumundan geri yüklenen parçalar artık her zaman null olmayan bir
Bundlealacak [b/119794496] - Kaldırılan parçalar yeniden eklendiklerinde
Lifecyclenesnelerini artık yeniden kullanmıyor [b/118880674]
Sürüm 1.1.0-alpha02
3 Aralık 2018
Yeni özellikler
- FragmentScenario'nun Kotlin uzantıları artık
FragmentFactoryörneği iletmek yerine Fragment oluşturma için lambda kullanmanıza olanak tanıyor. (aosp/812913)
Hata düzeltmeleri
- Geri yığında iç içe yerleştirilmiş Fragment'ler kullanılırken oluşan IllegalStateException düzeltildi (b/119256498).
FragmentScenario.recreate(),FragmentFactoryile kullanılırken kilitlenme sorunu düzeltildi (aosp/820540)- Hedef parçaların, parça kaldırıldıktan sonra erişilememesine neden olan sorun düzeltildi (aosp/807634).
Sürüm 1.1.0-alpha01
5 Kasım 2018
Bu, androidx.test:core API'leri üzerine oluşturulan fragment-testing ve FragmentScenario yapay nesnesinin ilk sürümüdür. Daha fazla bilgi için Parça testi dokümanlarını inceleyin.
Yeni özellikler
- Fragment'leri yalıtılmış olarak test etmek için yeni FragmentScenario sınıfı.
- Yeni Fragment örneklerinin nasıl oluşturulacağını kontrol etmek için artık herhangi bir
FragmentManagerüzerindeFragmentFactoryayarlayabilirsiniz. - Bir Fragment'ten ViewModel'leri almak için yeni bir
by viewModels()Kotlin özelliği temsilcisi eklendi. - Bekleyen giriş etkinlikleri (ör. tıklamalar) artık bir Fragment'ın
onStop()içinde iptal ediliyor.
API değişiklikleri
- Fragment API yüzeyindeki nullability ek açıklamaları önemli ölçüde genişletildi.
Hata düzeltmeleri
- Fragment işlemlerinin LiveData içinde başarısız olmasına neden olan sorun düzeltildi. (b/77944637)
Bilinen sorunlar
- Bir Fragment, FragmentManager'dan kaldırıldıktan sonra hedef Fragment'a erişilemez.
fragment-testing, doğruandroidx.test:core:1.0.0yerineandroidx.test:core:1.0.0-beta01SDK'sına bağlıdır.