Android技术分享

Android删除子视图的顺序不对导致空指针异常

2022-04-18  本文已影响0人  杨南北

在线性布局中需要动态删除子视图时需要从尾部开始删除,否则会报子视图找不到的空指针异常。

×错误删除示范
{
int childCount=ll_layout_content.getChildCount();
for(int i=0;i<childCount;i++) {
ll_layout_content.removeViewAt(i);
}
}

√正确删除示范
{
for(int i=childCount-1;i>=0;i--) {
ll_layout_content.removeViewAt(i);
}
}

如果父视图按序号从小到大删除,则每删除一个,后面的视图的序号自动递补前一个,而for循环中原序号的视图则无法找到导致空指针异常,所以必须采用尾部序号从大到小的顺序删除

上一篇 下一篇

猜你喜欢

热点阅读