2016-04-05 34 views
0

Ürünleri yüklemek için beklemek zaman, ben de onları yüklemek için konuları oluşturun. Listede 10 öğe var. Öğe 10 yüklenebilir, ancak öğe 9 yükleniyor. Çözüm veri <strong><code>ListView</code></strong> yüklemek için zamana ihtiyacı benim içinde

I10 elemanları (boş veri) ile başlatılır, ArrayList'in ile özel bir Adaptör yaptı. o ( data empty) Ben boş dönmek ve bir öğe yüklü olduğunda haberdar yükleniyor, GetView olarak

() fonksiyonu, ben kontrol edin.

Ama ListView ait onLayout fonksiyonunda istisna bildirir.

Lütfen bu dava için bana bir çözüm bulun.


GÜNCELLEME:

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     final Item model = arrayList.get(position/3); 
     if(model.getId()==null) return null; 
     if (convertView == null || convertView.getTag() == null || !    (convertView.getTag() instanceof ViewHolderHeader)) { 
     ....... 
     } 
     ...... 
    } 

GÜNCELLEME LOG FILE: Bir metin (yükleniyor ...) içerecektir başka bir görünüm oluşturmak veya varolan convertView kullanabilirsiniz

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.ViewGroup$LayoutParams android.view.View.getLayoutParams()' on a null object reference 
                  at com.packed.customviews.LoadMoreListView.createPinnedShadow(LoadMoreListView.java:269) 
                  at com.packed.customviews.LoadMoreListView.ensureShadowForPosition(LoadMoreListView.java:325) 
                  at com.packed.customviews.LoadMoreListView$2.onScroll(LoadMoreListView.java:160) 
                  at android.widget.AbsListView.invokeOnItemScrollListener(AbsListView.java:1938) 
                  at android.widget.AbsListView.trackMotionScroll(AbsListView.java:7065) 
                  at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:6484) 
                  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777) 
                  at android.view.Choreographer.doCallbacks(Choreographer.java:590) 
                  at android.view.Choreographer.doFrame(Choreographer.java:559) 
                  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763) 
                  at android.os.Handler.handleCallback(Handler.java:739) 
                  at android.os.Handler.dispatchMessage(Handler.java:95) 
                  at android.os.Looper.loop(Looper.java:145) 
                  at android.app.ActivityThread.main(ActivityThread.java:5942) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at java.lang.reflect.Method.invoke(Method.java:372) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 
+0

tam yığın izlemesini ve ayrıca bazı kodları – Pooya

+0

Merhaba göstermek lütfen bildirilir. GetView() 'da getItem (position)' ı ilk kontrol ettiğimde, eğer boş ise getView, null (layout değil) değerini döndürecektir. –

+0

basit kodunuzu gösterir – Pooya

cevap

0

(ayarlanan metin yüklemesi gibi küçük bir değişiklikle veya kullanıcının bu öğenin yüklenmekte olduğunu anlayabileceği bir şeyle)

if(model.getId()==null){ 
    LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    loadingView= inflater.inflate(R.layout.custom_row_branch_location,parent,false); 

    return loadingView;   
    } 

ve sonra loadingView değiştirilecektir orijinal öğeyi yükledikten için backgroud işlemini bitirmek zaman bu mantığı set ... ve benim kod çok basit,

+0

Merhaba, bunun için VISIBLE ve GONE kullanıyorum. Veri boş görünümü GONE ise. Ancak alt liste görünümü çok uzun ve gridir. –

+0

Kullan Görülebilir ve gitti Bu senaryo için uygun olmayabilir –

+0

Sory, senin çözümün iyi olduğunu düşünüyorum. Ama benim durumumda ListView sabitlenmiş başlıktır. –