6

Bir etkinlikten bir DialogFragment başlatırsam, DialogFragment'i kapattığımda ne olur? Etkinlik, OnResume durumunda mı devam ediyor? Veya herhangi bir normal java çağrısı olarak, DialogFragment kapatılıncaya kadar bir sonraki satırın hiçbir zaman yürütülmesi için çağrı mı? Ne zaman doMoreStuff()DialogFragment, arama etkinliğinin yaşam döngüsünü nasıl etkiler?

  1. denir:

    benim fragman başlatılması için yöntem

    private void launchFragment(){ 
        ConfirmationDialog confirm = new ConfirmationDialog(); 
        confirm.show(getSupportFragmentManager(), "confirm"); 
        doMoreStuff(); 
    } 
    

    olduğunu Benim soru iki kat varsayalım? Ebeveyn etkinliğine dönmek için parçayı kapatmadan önce mi sonra mı?

  2. Parçayı ana etkinliğe geri dönecek şekilde kapattıktan sonra, üst etkinlikte şu sonuçlardan biri var: bu nedenle, bölüm tarafından değiştirilen bazı alanlar için bir denetimim varsa, bunun durumuna göre onResume'de çalışabilirim alan: aşağıdaki örnekte olduğu gibi

:

@Override 
public void onResume() { 
    super.onResume(); 
    if(dialogFragmentChangedThis){ 
     workSomeMore(); 
    } 
} 

parçası bu nedenle olduğunu

setStyle(STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 

ile başlatılır tam ekran modu.

cevap

5

doMoreStuff() ne zaman çağrıldı? Ebeveyn etkinliğine dönmek için parçayı kapatmadan önce mi sonra mı?

DialogFragment 'ın show() yöntem sadece uyumsuz idam edilecek bir FragmentTransaction, taahhüt, böylece bunu izleyen tüm yöntem derhal idam edilecektir. Ben ana aktiviteye dönüş fragman kapattıktan sonra

yapar ebeveyn etkinlik onResume geçmesi

Hayır, yok mu, senin Activity ön planda her zaman olduğundan, orada ilgili diğer Activities vardır. Eğer Activity yılında Callbacks uygulayarak ve bu arayüzü üzerinden Activity 'ın yöntemini çağırarak, basit Fragment s ile yaptığımız gibi bir sonucunu geçirmek istediğinizde

Genellikle DialogFragment s ile Callbacks dinleyicileri kullanacağız DialogFragment’da gerçekleşen eylem.

+0

Özel bir geri çağırma arabirimi uygulamayı düşündüm, ancak daha kolay bir yol olduğunu umuyorum; Yaşam döngüsü üzerinde böyle bir piggy desteği. –