Android 如何删除自定义视图?

Android 如何删除自定义视图?,android,Android,我有几个自定义的ImageView,它们被动态添加到RelativeLayout中 public class EmptySoldierView extends ImageView { . . @Override public void onClick(View v) { EmptySoldierView.this.getAnimation().cancel(); clickListener.onEmptySoldie

我有几个自定义的ImageView,它们被动态添加到RelativeLayout中

public class EmptySoldierView extends ImageView {
        .
        .
    @Override
    public void onClick(View v) {
        EmptySoldierView.this.getAnimation().cancel();
        clickListener.onEmptySoldierClicked(player, regionID);
    }
}
我正在尝试删除所有这些自定义视图,如下所示:

@Override
public void onEmptySoldierClicked(Player player, int areaID) {
    player.addSoldier(areaID);
    drawSoldier(player, areaID);
    for (EmptySoldierView soldierView : emptySoldiers)
        ((ViewGroup) soldierView.getParent()).removeView(soldierView);
}
我知道删除视图的正确方法(有文档记录)是使用上述方法。但对我来说,它不起作用。我搜索、阅读了很多帖子,苦苦挣扎了三天才开口


如何删除动态添加的自定义视图?

我找到了答案。问题是动画。视图已从布局中删除,但动画仍在图像上<代码>动画。取消()是不够的。在删除视图之前,我添加了
setAnimation(null)