如何删除自定义视图?

时间:2013-05-12 12:47:22

标签: android

我有几个自定义的ImageViews动态添加到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);
}

我知道删除视图的正确方法(记录)是使用上述方法。但它不适用于我的情况。在搜索之前,我搜索了很多帖子并且奋斗了三天。

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

1 个答案:

答案 0 :(得分:0)

我明白了。问题是动画。视图将从布局中删除,但动画仍在图像上。 animation.cancel()还不够。我在删除View之前添加了setAnimation(null)