如何從控件中刪除所有子視圖?例如,我有一個GridView,並且我動態地將許多其他LinearLayout充氣到它中;後來在我的應用程序中,我正在尋找新的GridView並清除所有的子視圖。我將如何做到這一點? TIA。從視圖中刪除所有子視圖
74
A
回答
143
viewGroup.removeAllViews()
適用於任何viewGroup。在你的情況下,它是GridView。
http://developer.android.com/reference/android/view/ViewGroup.html#removeAllViews()
11
您可以使用此功能只刪除某些類型的視圖在的ViewGroup:
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
由於OP沒有詢問如何刪除不同類型的子視圖,因此進行了倒票。 OP想要刪除所有的子視圖。 – 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
試試這個
RelativeLayout relativeLayout = findViewById(R.id.realtive_layout_root);
relativeLayout.removeAllViews();
此代碼工作我。
相關問題
- 1. 從UIScrollView中刪除所有子視圖?
- 2. 如何刪除子視圖(或視圖的所有子視圖)
- 3. Monotouch:從視圖中刪除所有子視圖
- 4. 刪除dealloc中的所有子視圖?
- 5. 認證後沒有從所有的視圖中刪除視圖
- 6. iOS - 刪除所有子視圖後重新添加子視圖
- 7. 從視圖中刪除所有UIButtons?
- 8. Backbone.js - 刪除所有子視圖
- 9. 刪除所有視圖postgres
- 10. 從View刪除子視圖?
- 11. 如何刪除當前視圖以外的所有子視圖
- 12. 如何在從超級視圖中移除UIView的同時刪除所有子視圖和視圖的嵌套?
- 13. UIViewController中刪除子視圖
- 14. Cant刪除視圖的子視圖
- 15. 如何在刪除後添加多視圖並刪除視圖並從視圖中獲取所有數據?
- 16. 刪除postgreSql中的所有視圖
- 17. Ishidden vs從子視圖中刪除
- 18. 從UIBarButtonItem中刪除徽章子視圖
- 19. 從MapPin中刪除子視圖
- 20. 如何從navigationController中刪除子視圖?
- 21. 如何從scrollview中刪除子視圖?
- 22. 如何從Superview中刪除子視圖?
- 23. 從UIViewController中刪除一個子視圖
- 24. 從子視圖中刪除陰影
- 25. 從子視圖中刪除對象
- 26. 從外部刪除其他子視圖時的子視圖
- 27. 從子視圖中刪除視圖不會調用willRemoveSubview
- 28. NSView從超級視圖中刪除一些子視圖
- 29. 從其SuperView中刪除視圖,在iPhone上通知子視圖
- 30. xcode從視圖中刪除一些子視圖
感謝您的幫助! –
事實上,在GridView上調用removeAllViews()時會引發異常。從文檔:「此方法不受支持,並在調用時引發UnsupportedOperationException。」 – Moritz
該註釋適用於派生ViewGroup的抽象基類。 ViewGroup本身及其所有派生類都支持removeAllViews。 –