Bazı şeyler yapmak istiyorum. ListView
'da tembel yükleme yapmak istiyorum. Benim ListView
, yalnızca TextView
içinde 10,000'den fazla veri & içerir. Bu yüzden liste etkinliğini başlattığımda tüm bu verileri ilk defa yükleyemiyorum. Bu verimli değil, bu yüzden listede ilk 20 veya 30 öğeyi yükleyebilirim. Ayrıca, üzerinde kaydırma yaptığımda ListView
satırları yüklenir. Son endekste ListView
'un son dizinine ulaştığımda, ilerleme çubuğunu koyacağım, yeni verinin yükleneceğini not edecektir, böylece o zaman yeni veriler son + 1 indeksi ile yüklenecektir. Bunu nasıl yapabilirim?Android cep telefonu açıktan yüklememe
cevap
Bunu, sonsuz Bağdaştırıcı uygulamasını kullanarak gerçekleştirebilirsiniz. Bu tam olarak istediğini yapar. Kaydırma başına yenilenecek satır sayısını da kısıtlayabilirsiniz. İşte buna bir bağlantıdır.,
Android: Implementing progressbar and "loading..." for Endless List like Android Market
https://github.com/commonsguy/cwac-endless
Kullanmak için
, sen endlessness nasıl işleneceği konusunda ayrıntıları sağlamak için EndlessAdapter uzatın. Özellikle, gerçek bağdaştırıcınızdaki herhangi bir satırdan bağımsız olarak, başka bir yöntemde ana bağdaştırıcınıza gerçek verileri yüklerken, yer tutucu işlevi görecek bir satır Görünümü sağlayabilmeniz gerekir. Daha sonra, sizden biraz yardım alarak, yeni verilerde sorunsuzca geçiş yapar.Teşekkürler dostum, bunu deneyeyim. – Jai
Link şimdi bozuk! :( –
çağıran işleve koymak //:
@Override
public View onCreateView(android.view.LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
ScrollListener scrollListener = new ScrollListener();
listView.setOnScrollListener(scrollListener);
}
ve iç sınıfı:
class ScrollListener implements OnScrollListener
{
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
{
int size = searchedPeople.size();
if(isScrolled && totalItemCount != 0 && size < totalPeoples)
{
if(firstVisibleItem + visibleItemCount >= totalItemCount)
{
yourfunction(size, size + limit); // call service in your functioin
isScrolled = false;
}
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState)
{
}
}
sizin listeleri kaydırma yapın daha hızlı: -
- kullanılan koşullar sayısını azaltın bağdaştırıcınızın
getView
. - Eğer günlükleri
- Add kaydırma fonksiyonu olsun çöp toplama uyarı sayısı (Kaydırma başına yenilenmesi satır sayısını kısıtlamak)
ListView için bir onScrollListener ekle azaltın. Kullanıcı kaydırdığında, ListView'in sonuna yaklaşıp açmadığını kontrol edin. Evet ise, daha fazla veri alın. Örnek olarak:
public abstract class LazyLoader implements AbsListView.OnScrollListener {
private static final int DEFAULT_THRESHOLD = 10 ;
private boolean loading = true ;
private int previousTotal = 0 ;
private int threshold = DEFAULT_THRESHOLD ;
public LazyLoader() {}
public LazyLoader(int threshold) {
this.threshold = threshold;
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if(loading) {
if(totalItemCount > previousTotal) {
// the loading has finished
loading = false ;
previousTotal = totalItemCount ;
}
}
// check if the List needs more data
if(!loading && ((firstVisibleItem + visibleItemCount) >= (totalItemCount - threshold))) {
loading = true ;
// List needs more data. Go fetch !!
loadMore(view, firstVisibleItem,
visibleItemCount, totalItemCount);
}
}
// Called when the user is nearing the end of the ListView
// and the ListView is ready to add more items.
public abstract void loadMore(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount);
}
Etkinlik:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
ListView listView = (ListView) findViewById(R.id.listView);
listView.setOnScrollListener(new LazyLoader() {
@Override
public void loadMore(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// Fetch your data here !!!
}
});
}
}
Sen tam uygulanması at this link
- 1. Cep telefonu WAMP
- 2. link, cep telefonu üzerine tıklanamaz
- 3. Cep telefonu geliştirme için en iyi veritabanı
- 4. Cep Telefonu Arka Plan Resimleri Yakınlaştırılmış
- 5. android iletişim bilgilerini, isim ve cep telefonu numarasıyla temasa geçin.
- 6. jQuery'de ondalık sayısı Cep telefonu numarası girişi
- 7. facebook api'den cep telefonu numarası al
- 8. Get Contacts Yalnızca cep telefonu numarası
- 9. Bir tarayıcıyı bir tarayıcıdan bir cep telefonu galerisine kaydetme
- 10. android AlarmManager telefonu uyandırmıyor
- 11. Facebook sohbet geçmişi ile cep telefonu üzerinden mesaj alıp verme XMP istemcileri
- 12. Android telefonu Javascript/jQuery aracılığıyla algıla
- 13. Cep telefonunda skmapler yavaş
- 14. Cep telefonlarını kullanarak ödeme gerçekleştirme
- 15. Cordova/Ionic - Yalnızca Cep Telefonu İçin Portre Ayarı ve Tabletlerde Oryantasyon Ayarı
- 16. Linkler Uzaktan JQueryMobil uygulamasında bir cep telefonu uygulaması açın safari açın
- 17. Bir cep telefonu çevirmeyi simüle eden bir işlev yazmayı denemeye çalışıyorum
- 18. "Bozuk paketler" paketleri yüklememe izin vermeyin
- 19. Bluetooth soketi donma telefonu
- 20. .NET için CEP altyapısı
- 21. cep telefonlarında durumprovider
- 22. Android telefonu bir interrupt üzerinde uyandırın, bir GPIO üzerinde
- 23. Android telefonu yeniden başlattıktan sonra panoya metin yapıştırın
- 24. Android telefonu bluetooth ile yazıcıya bağlamak mümkün mü?
- 25. nasıl benim pc den apk uygulamasını yüklemek için cep android
- 26. Pinch Zoom ile Android Telefon ve Cep Telefonları için
- 27. Telefonun sesini kapatmak için telefonu kapat
- 28. Varak'da akıllı telefonu nasıl değiştirebilirim?
- 29. html5 desteği cep telefonlarında çalışıyor mu?
- 30. Cep API Erişim Simgesi İsteği
Eğer denedi göstermek olabilir bulabilirim? – gideon
ya resmini buraya örnek olarak ekledim. Bunu kontrol et – Jai
Picasso'ya ne dersiniz? Bu ihtiyacınızı karşılıyor mu? http://square.github.io/picasso/ – phi