SORU
28 HAZİRAN 2011, Salı


Parçaları yığını arkasından onResume

Uyumluluk Paketi Android 2.2 ile Parçaları kullanmak için kullanıyorum. Kullanırken, parçaları ve ekleme geçişler arasında onlara backstack, istediğimi elde etmek için aynı davranış onResume bir aktivite, yani, ne zaman bir parçası getirdi "ön" (görünür kullanıcı) sonra poping dışarı backstack istiyorum bir çeşit geri arama için aktif içinde parça (gerçekleştirmek için bazı değişiklikler üzerinde paylaşılan UI kaynak, örneğin).

Bölümü çerçevesinde geri inşa edilmiş olduğunu gördüm. bunu başarmak için iyi bir uygulama var mı?

CEVAP
28 HAZİRAN 2011, Salı


Daha iyi bir çözüm olmaması için, bu benim için çalışıyor: 1 aktivite (MyActivity) ve birbirlerinin yerine birkaç parça (tek bir zamanda görülebilir) var varsayalım.

MyActivity, bu dinleyici ekleyin:

getSupportFragmentManager().addOnBackStackChangedListener(getListener());

Uyumluluk Paketi kullanıyorum gördüğünüz gibi).

getListener uygulanması

private OnBackStackChangedListener getListener()
    {
        OnBackStackChangedListener result = new OnBackStackChangedListener()
        {
            public void onBackStackChanged() 
            {                   
                FragmentManager manager = getSupportFragmentManager();

                if (manager != null)
                {
                    MyFragment currFrag = (MyFragment)manager.
                    findFragmentById(R.id.fragmentItem);

                    currFrag.onFragmentResume();
                }                   
            }
        };

        return result;
    }

MyFragment.() onFragmentResume "Geri" basıyoruz. sonra adı olacak birkaç uyarı olsa:

  1. Tüm eklediğiniz varsayar bu backstack hareketleri (kullanarak FragmentTransaction.() addToBackStack)
  2. Her birinin üzerine aktif hale yığını olacak (diğer eşyaları değiştirebilirsiniz arka animasyon gibi yığın) için birden çok çağrı alabilirsiniz parça aynı örnek.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006
  • TotalxLuna

    TotalxLuna

    27 Kasım 2011