如果静态属性使用不当可能会造成java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.见名思意,由于当前的View已经有一个容器了,所以必须把它从容器上卸下来。遇到这种情况有两种方法,一种是直接new一个新的View,这也是太多数人选择的做法,第二种是把它从容器中删除:
ViewParent vp = mContentView.getParent();
if (vp instanceof ViewGroup) {
((ViewGroup) vp).removeView(mContentView);
}
这样mContentView就可以再次被复用了。