Android:无法销毁活动

前端之家收集整理的这篇文章主要介绍了Android:无法销毁活动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用以下代码删除每个视图组上的子代:
protected void onDestroy() {
    super.onDestroy();
    this.liberarMemoria();
}

public void liberarMemoria(){
     imagenes.recycleBitmaps(); 
     this.unbindDrawables(findViewById(R.id.RelativeLayout1));
     System.gc();
}
private void unbindDrawables(View view) {
    if (view.getBackground() != null) {
    view.getBackground().setCallback(null);
}
if (view instanceof ViewGroup) {
    for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
        unbindDrawables(((ViewGroup) view).getChildAt(i));
    }
    ((ViewGroup) view).removeAllViews();
    }
}

视图:R.id.RelativeLayout1是ListView.

但这样做我有例外:

E/AndroidRuntime(582): java.lang.RuntimeException: Unable to destroy activity {...}: java.lang.UnsupportedOperationException: removeAllViews() is not supported in AdapterView

我该如何解决

解决方法

那么错误日志几乎解释一下:不要在AdapterView上调用removeAllViews().而且您的代码在某种程度上符合ViewGroup,也是AdapterView.

只需使用instanceof检查或使用try / catch包装器处理异常即可.

原文链接:https://www.f2er.com/android/312033.html

猜你在找的Android相关文章