2013-08-20 24 views
10

3 fragmanı olan ViewPager kullanıyorum, her parça bir liste yüklüyor. Sorun, uygulamanın ilk kez çalıştırılması ve bir sonraki parçaya kaydırılmasıdır, bu parçanın görünümü görünmeden önce yüklenmesi (yaklaşık 2 saniye) gerekir. Bu çok tuhaf bir davranış. Tek istediğim uygulama başladıktan sonra, ViewPager'daki tüm fragmanlar kullanıcı için hazır olmalı, böylece parçalara doğru kaydırıldığında bekleme süresi yok. Bunu nasıl yapabilirim?İlk çalıştırmada ViewPager öğesinin ön görünümünün görünümü

+0

Eğer FragmentPageAdapter veya FragmentStatePageAdapter kullanıyorsunuz (Bir diğer (tavsiye) imkanı 2 saniyelik bir yükleme süresi iyi gelmiyor, çünkü listeleri veya listadapters performansını arttırmaktır)? – Delyan

+0

Yapmayı düşünebileceğiniz şey, etkinlikteki (veya çağrı cihazında) parça listesi bağdaştırıcılarını önbelleğe almaktır. Bu, her sayfada değişikliklerin yeniden yüklenmesini önleyecektir. – AedonEtLIRA

+0

@Delyan FragmentPagerAdapter kullanıyorum –

cevap

28

onCreate() (ViewPager'ı başlattıktan sonra) içinde setOffscreenPageLimit()'u arayın. OffscreenPageLimit, geçerli sayfanın her iki tarafında tutulması gereken sayfa sayısını ayarlar (sizin durumunuzda 2). Bununla tüm parçalarınız anında ortaya çıkacaktır.

+0

Aslında "2" ye ayarlanması, 3 parçanın etrafında tutulmasını sağlıyordu. Değer, sayfaların toplam sayısını değil, geçerli sayfanın ** her iki tarafında ** tutulması gereken sayfa sayısını ayarlar. –

+0

Evet, biliyorum. Ancak limiti '100' olarak ayarlayabilir ve hala çalışır ;-) Bu sadece bir örnekti, tabi ki istediği limiti '2' olarak ayarlayabilir. – Namenlos

+1

Peki bu durumda, neden cevabınızda * "davasında ** 3 **" * yazıyor? Bu doğru değil ve bana bilmediğinize işaret ediyor, bu yüzden bu konuyu ilk başta bir yorum ekledim. –

İlgili konular