2013-05-12 58 views
-1

我有幾個動態添加到RelativeLayout的自定義ImageView。如何刪除自定義視圖?

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

我想通了。問題是動畫。視圖已從佈局中移除,但動畫仍在圖像上。 animation.cancel()是不夠的。在刪除View之前,我添加了setAnimation(null)

相關問題