我正在製作一個動態生成佈局和其中所有視圖的應用程序。當用戶按下按鈕時,我需要刪除佈局(包含其中的所有視圖)並用新信息重新生成它。 我找了一個解決方案,我發現了以下方法:Android - View.GONE是正確的方式?
View.GONE
我的問題是,如果這是正確的前進方式,因爲我不知道,如果一個用戶刪除了,重新佈局100次,這個東西使用多少內存。 View.GONE
沒有清理我所瞭解的內存。
我正在製作一個動態生成佈局和其中所有視圖的應用程序。當用戶按下按鈕時,我需要刪除佈局(包含其中的所有視圖)並用新信息重新生成它。 我找了一個解決方案,我發現了以下方法:Android - View.GONE是正確的方式?
View.GONE
我的問題是,如果這是正確的前進方式,因爲我不知道,如果一個用戶刪除了,重新佈局100次,這個東西使用多少內存。 View.GONE
沒有清理我所瞭解的內存。
所有內部視圖都被稱爲子視圖。所以,如果你想刪除一個子視圖,您可以撥打removeView (View view)
如果你想刪除所有的觀點:
viewGroup.removeAllViews()
http://developer.android.com/reference/android/view/ViewGroup.html#removeAllViews()
您可以通過刪除視圖:
((ViewManager)view.getParent()).removeView(view);
否則,如果你是想用新的數據重新填充,你可以更改視圖的內容/文本而不是刪除它們。無論哪種方式。
編輯
要刪除的佈局將是你建議的方式。
findViewById(R.id.layout).setVisibiliy(View.GONE);
我不想刪除子視圖,但我想刪除包含子視圖的佈局,因此我可以通過刪除佈局來刪除所有佈局 – FeFe
現在看到您的編輯。 removeAllViews可以是解決方案。因此,我可以刪除我添加到佈局的所有視圖,對不對? – FeFe
只用removeView()方法就可以實現你想要的。你可以有嵌套的意見。也就是說,您的第一個子視圖將是佈局,而這些子佈局又可能包含其他視圖。現在,您可以通過parent.addView()和parent.removeView()簡單地添加/刪除外部子視圖(佈局)。「parent」這裏是佈局xml文件中定義的最外面的佈局。希望你理解我想說的話 – 2013-11-26 16:35:39