`
闫老三
  • 浏览: 102719 次
社区版块
存档分类
最新评论

Android中,在onAnimationEnd方法中调用 viewgroup.removeview,报 nullpointerexception异常的解决方法

 
阅读更多

在做Android开发实现淡出效果后,移除界面上一个图片控件时,发现这样一个问题,在onAnimationEnd方法中调用 viewgroup.removeview,报 nullpointerexception异常解决方法,花了我好长时间,终于在一个老外的论坛里找一个解决方法。

直接执行方法通常如下:

@Override
public void onAnimationEnd(Animation arg0) {
// 动画效果结束的时候移除图片
viewGroup.removeView(imageView);
}

 

但是,会出现空指针NullPointerException的异常。

后来看老外的方法是采用handler来处理,就不报异常了,如下:

@Override
public void onAnimationEnd(Animation arg0) {
// 动画效果结束的时候移除图片
//viewGroup.removeView(imageView);
new Handler().post(new Runnable() {
public void run() {
viewGroup.removeView(imageView);
}
});
}

 

分享到:
评论

相关推荐

    Android中使用自定义ViewGroup的总结

    最后,在CustomLinearLayout类中,我们需要覆盖`generateLayoutParams(AttributeSet attrs)`和`checkLayoutParams(ViewGroup.LayoutParams p)`方法,以确保系统使用我们的自定义LayoutParams: ```java public ...

    android各组件详解- ViewGroup.pdf

    ### Android各组件详解—ViewGroup #### 回顾与引言 在深入探讨`ViewGroup`之前,我们先简要回顾一下之前所学的基础概念。`View`是Android应用程序中最基本的构建单元,用于创建用户界面的各种控件,如按钮、文本框...

    Android用纯代码实现复杂界面.pdf

    在Android应用开发中,有时需要不依赖XML布局文件,而是使用纯代码来创建复杂的用户界面。这在某些情况下可能是为了更高的灵活性、性能优化或者在运行时动态构建UI。本篇内容将详细介绍如何使用Java代码来实现上述...

    android 全屏幕以按钮覆盖----动态产生按钮并最大化

    在Android开发中,全屏显示通常用于提供沉浸式的用户体验,比如在观看视频或者玩游戏时。然而,有时我们可能需要在全屏应用中添加特定的交互元素,如按钮,以实现某些功能。本教程将深入探讨如何在Android应用中实现...

    Android-可以指定圆角的ViewGroup

    在Android开发中,创建具有指定圆角的ViewGroup是一个常见的需求,这可以帮助开发者设计出更加美观和具有现代感的用户界面。"Android-可以指定圆角的ViewGroup"这个主题聚焦于如何在Android应用中实现自定义的布局,...

    android viewgroup view 源码

    在Android开发中,`ViewGroup`和`View`是构建用户界面的核心组件。`View`是所有UI元素的基类,而`ViewGroup`则是一个特殊的`View`,它能够包含多个子`View`,形成了Android UI的层级结构。这份源码提供了深入理解这...

    ViewGroupDemo1

    3. 添加和移除子视图:通过`addView()`方法可以将一个View添加到ViewGroup中,`removeView()`方法则用于移除。`LayoutParams`是添加子视图时的关键参数,它定义了子视图在布局中的位置和大小。 二、ViewGroup的生命...

    android webview播放网页视频

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和展示网页内容。当涉及到在Webview中播放网页视频时,这个问题可能会变得稍微复杂,因为Android原生的Webview并不总是支持所有现代HTML5视频特性。...

    Android中的View与ViewGroup绘制过程,手势监听顺序与使用

    在Android开发中,View和ViewGroup是构建用户界面的基础组件,它们共同负责UI的绘制和交互。这篇博客将深入探讨这两个关键概念,以及手势监听的相关顺序和应用。 首先,我们来理解View。在Android中,View是所有UI...

    Android 手把手教您自定义ViewGroup(一)

    在Android开发中,自定义ViewGroup是提升应用界面复杂度和交互体验的重要手段。本教程将引导您逐步了解如何从零开始创建一个自定义的ViewGroup。我们将通过分析标题"Android 手把手教您自定义ViewGroup(一)"以及...

    android 程序中动态添加删除控件或布局

    在Android应用程序开发中,动态添加和删除控件或布局是一项常用且重要的技能。这使得我们的应用能够根据用户交互或者特定条件灵活地改变界面。本文将深入探讨如何在Android程序中实现这一功能,以及如何设置控件的...

    Android LinearLayout.LayoutParams 使用方法

    在Android开发中,LinearLayout是最基础且常用的布局管理器之一,它允许我们将子视图按照垂直或水平方向进行排列。LinearLayout.LayoutParams是LinearLayout特定的布局参数类,用于定义子视图的大小和位置。在这个...

    Android 标签,可以自动换行的ViewGroup

    在Android开发中,"标签(Tags)"通常指的是在用户界面上用于表示多个选项或类别的元素,类似于传统的HTML中的`<label>`标签。而"可以自动换行的ViewGroup"则是指一种特殊的布局管理器,它允许子视图(Views)在达到...

    Android在布局中动态添加view的两种方法共5页.pdf.zip

    在Android开发中,动态添加View是一项常见的需求,特别是在创建自定义布局、复杂用户界面或响应式设计时。本文将深入探讨两种主要的在布局中动态添加View的方法:使用LayoutInflater和直接通过代码创建。 首先,...

    Android 自定义ViewGroup 实战篇 -> 实现FlowLayout源码程序

    在Android开发中,自定义ViewGroup是实现复杂布局和交互的关键技术之一。本实战篇将聚焦于如何实现一个名为FlowLayout的自定义布局,它允许子视图按行排列,类似于HTML中的`<div>`标签。在Android应用设计中,...

    自定义ViewGroup实现拖动跟快速滚动的效果实例

    避免在`onDraw()`方法中执行耗时操作,尽量减少对硬件层的调用,合理使用`ViewGroup#removeView()`和`ViewGroup#addView()`来动态管理子View。 总结来说,自定义MoveViewGroup涉及的关键技术包括手势识别、布局管理...

    Xamarin.Android 悬浮框(背景半透明遮挡)

    在Xamarin.Android应用开发中,有时我们需要实现一种特殊的效果,即在主页面上弹出一个悬浮框,并且这个悬浮框的背景是半透明的,以此达到遮挡底层内容但又能透出部分背景的效果。这样的设计可以用于显示提示信息、...

    Android项目仿360 浮动小插件效果.rar

    在Android开发中,实现类似360安全卫士的浮动小插件效果是一项常见的需求,它可以让用户在主屏幕上快速访问或控制应用的功能。这个压缩包文件“Android项目仿360 浮动小插件效果”提供了一个示例项目,帮助开发者...

    view android 切换动态增加

    在Android开发中,动态地添加或切换View是一个常见的需求,比如在创建自定义布局、实现复杂的用户交互或者在运行时根据用户操作动态调整界面时。本文将深入探讨如何在Android中实现动态增加View,并结合实际的项目...

Global site tag (gtag.js) - Google Analytics