Bir altyazıdan tüm alt görünümleri nasıl kaldırırım? Örneğin, GridView'ım var ve diğer birçok LinearLayouts'u dinamik olarak şişiriyorum; Daha sonra uygulamamda bu GridView ile yeni başlamayı ve tüm Çocuk Görüşlerini temizlemeyi arıyorum. Bunu nasıl yapardım? TIA.Tüm Çocuk Görünümlerini Kaldırma Görünümden
74
A
cevap
143
, herhangi bir viewGroup için çalışır. senin durumunda GridView.
http://developer.android.com/reference/android/view/ViewGroup.html#removeAllViews()
11
Bu işlevle bir ViewGroup bakış sadece bazı türlerini kaldırabilirsiniz:
private void clearImageView(ViewGroup v) {
boolean doBreak = false;
while (!doBreak) {
int childCount = v.getChildCount();
int i;
for(i=0; i<childCount; i++) {
View currentChild = v.getChildAt(i);
// Change ImageView with your desired type view
if (currentChild instanceof ImageView) {
v.removeView(currentChild);
break;
}
}
if (i == childCount) {
doBreak = true;
}
}
}
+0
Aşağı oy kullanıldı çünkü OP farklı türde çocuk görüntülerinin nasıl kaldırılacağını sormadı. OP tüm çocuk görüşlerini kaldırmak istedi. – protectedmember
0
void removeAllChildViews(ViewGroup viewGroup) {
for (int i = 0; i < viewGroup.getChildCount(); i++) {
View child = viewGroup.getChildAt(i);
if (child instanceof ViewGroup) {
if (child instanceof AdapterView) {
viewGroup.removeView(child);
return;
}
removeAllChildViews(((ViewGroup) child));
} else {
viewGroup.removeView(child);
}
}
}
0
Bu kod için çalışan bu
RelativeLayout relativeLayout = findViewById(R.id.realtive_layout_root);
relativeLayout.removeAllViews();
deneyin ben mi.
İlgili konular
- 1. UIView tüm alt görünümlerini yayınlıyor mu?
- 2. Bir uygulamanın tüm görünümlerini-her anı alın?
- 3. Tüm ek açıklama görünümlerini MKMapView'dan alabilir miyim
- 4. Tüm Öğeleri ComboBox'tan Kaldırma?
- 5. Tüm çocuk sınıflarını koşullu
- 6. Cascade çocuk görünümüne bir üst görünümden bir özel özelliğin değeri?
- 7. Pencerenin tüm çocuk pencerelerini ayıkla
- 8. ASP.NET Core görünümlerini bulamadı
- 9. Django'nun Genel Görünümlerini Genişletme
- 10. Installshield, programı kaldırma tüm klasörleri kaldırmıyor
- 11. Bir paket ve tüm bağımlıları kaldırma
- 12. Çıktı ilk dizesi, tüm çocuk dizeleri değil
- 13. tüm acil çocuk ve derin bir şey
- 14. Tüm çocuk görünümlerine GestureDetector öğesini ayarlayın
- 15. Selenium Python tüm çocuk elemanlarını al
- 16. Tüm çocuk süreçleri için ebeveyn bekletme yap
- 17. VirtualStringTree'deki tüm kök veya tüm çocuk düğümleri nasıl seçilir?
- 18. Java'da çoklu düğme görünümlerini sürükleme
- 19. kaldırma
- 20. MVC Görünümlerini nasıl test edebilirim?
- 21. Tarayıcı sayfası, omurga görünümlerini Jasmine
- 22. Geçerli kullanıcıyı Görünümden görüntüle
- 23. Android: Görünümden kaldır kaldır
- 24. Görünümden Nasıl Parça Alabilirim?
- 25. sqlite görünümden veri okuma
- 26. Kısmi görünümden RenderSection
- 27. Kaldırma ve kaldırma Android NDK
- 28. çıkış kaldırma
- 29. Bir üst görünümün alt görünümlerini Titanium kullanarak nasıl sorgulanır?
- 30. Android Relative Layout alignCenter başka bir görünümden
Yardımlarınız için teşekkürler! –
Aslında removeAllViews(), GridView çağrıldığında bir istisna atar. Dokümanlar'dan: "Bu yöntem desteklenmiyor ve çağrıldığında bir UnsupportedOperationException atar." – Moritz
Bu yorum, ViewGroup'un türetildiği soyut temel sınıf için geçerlidir. ViewGroup'un kendisi ve tüm türetilmiş sınıfları removeAllViews'ı destekler. –