SORU
29 HAZİRAN 2011, ÇARŞAMBA


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
30 HAZİRAN 2011, PERŞEMBE


Çö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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MC JIN'S OLD YouTube CHANNEL

    MC JIN'S OLD

    2 Kasım 2008
  • DrePwn

    DrePwn

    22 Temmuz 2011
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009