2015-10-15 16 views
9

tüm itemViews için ateş etmeyen bir RecyclerView, kimin görünüm tutucu yapıcı Ekrandaki tüm itemViews içinRecyclerView itemView OnGlobalLayoutListener Ben

public CustomViewHolder(final View itemView, Context context) { 
    super(itemView, context); 
    itemView.getViewTreeObserver().addOnGlobalLayoutListener(
     new ViewTreeObserver.OnGlobalLayoutListener() { 
      @Override 
      public void onGlobalLayout() { 
      // Get height here 
      } 
    }); 
} 

Bu yangınlar şöyle Bir onGlobalLayoutListener ekliyorum ama recyclerView'i kaydırırken, ekranda görünmeye başlayan itemViews için ateş etmiyor. Neden? Bu öğeler için bu dinleyiciyi nasıl yakalayabilirim?

imageViewAvatar.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { 

@Override 
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { 
     imageViewAvatar.removeOnLayoutChangeListener(this); 
     // Get height here 
} 
}); 
+0

kılma ait 'onLayout' senin' – pskink

cevap

8

böyle bir OnLayoutChangeListener kaydedin.
+3

, ben ViewTreeObserver' 'yerine bunu kullanmalısınız neden ben nedenlerle ver lütfen itemView': – deadfish

İlgili konular