我有几个自定义的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);
}
我知道删除视图的正确方法(记录)是使用上述方法。但它不适用于我的情况。在搜索之前,我搜索了很多帖子并且奋斗了三天。
如何删除动态添加的自定义视图?
答案 0 :(得分:0)
我明白了。问题是动画。视图将从布局中删除,但动画仍在图像上。 animation.cancel()
还不够。我在删除View之前添加了setAnimation(null)
。