RemoveView() çağrısı çocuk's üst ilk
Önce biraz arka plan:
Bir scrollview içinde bir düzen var. Kullanıcı ekran üzerinde kayar zaman, scrollview kayar. Ancak, kaydırma belli bir süre sonra, kaydırma görünümünde kaydırma "" alt düzen içinde bir web görünümü üzerine. kaydırma odak hareket devre dışı bırakmak için yapıyordum Bu şekilde, scrollview çubukları ve kaydırma olaylar içindeki Web görünümü.
Yani, kaydırma eşiğe zaman bir çözüm için, ben scrollview alt düzeni kaldırmak ve scrollview üst koyun.(Ve scrollview görünmez olun).
// Remove the child view from the scroll view
scrollView.removeView(scrollChildLayout);
// Get scroll view out of the way
scrollView.setVisibility(View.GONE);
// Put the child view into scrollview's parent view
parentLayout.addView(scrollChildLayout);
Genel Fikir: (->içerdiği anlamına gelir)
Önce: - ^ parentlayout . - ^scrollview . scrollChildLayout
Sonra : - ^ parentLayout . scrollChildLayout
Yukarıdaki kod bana bu durum veriyor:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
at android.view.ViewGroup.addViewInner(ViewGroup.java:1976)
at android.view.ViewGroup.addView(ViewGroup.java:1871)
at android.view.ViewGroup.addView(ViewGroup.java:1828)
at android.view.ViewGroup.addView(ViewGroup.java:1808)
Ne oluyor biliyor musun? Açıkça üst removeView arıyorum.
CEVAP
Çözüm:
((ViewGroup)scrollChildLayout.getParent()).removeView(scrollChildLayout);
//scrollView.removeView(scrollChildLayout);
Alt öğe üst için bir başvuru almak için kullanır. Bir ViewGroup removeView yöntemi için erişim almak için ana Cast ve bunu kullanın.
@Sayesinde çözüm için Dongshengcn
Eğer ajax çağrısı nedeniyle tepki güve...
Nasıl bir alıcı ya da ayarlayıcı gelen...
Neden türetilmiş sınıftaki bir yöntemi...
Nasıl tıklama olayı ana DİV, çocuk yan...
-Çocuk son seçici kullanarak...