如何从窗口小部件中删除所有子视图?例如,我有一个GridView,我动态地将许多其他LinearLayout充气到其中;稍后在我的应用程序中,我希望重新开始使用GridView并清除其所有子视图。我该怎么做? TIA。
答案 0 :(得分:179)
viewGroup.removeAllViews()
适用于任何viewGroup。在你的情况下,它是GridView。
http://developer.android.com/reference/android/view/ViewGroup.html#removeAllViews()
答案 1 :(得分:13)
您只能使用此功能删除 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;
}
}
}
答案 2 :(得分:2)
试试这个
driver.find_element_by_link_text("[Comma-Delimited Text (CSV)]").click()
while True:
if os.path.isfile('C:\\Python34\\*.part'):
time.sleep(10)
elif os.path.isfile('C:\\Python34\\*.csv'):
break
else:
time.sleep(10)
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
此代码对我有用。
答案 3 :(得分: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);
}
}
}