2013-05-12 2 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); 
} 

나는 접근 방식보다 사용하는 뷰를 제거 (문서화) 올바른 방법을 알고있다. 하지만 제 경우에는 효과가 없습니다. 나는 수색 해, 많은 포스트를 읽고 요구하기 전에 3 일 동안 고투했다.

동적으로 추가 된 사용자 지정보기를 제거하는 방법은 무엇입니까?

답변

0

나는 그것을 알아 냈다. 문제는 애니메이션입니다. 뷰는 레이아웃에서 제거되지만 애니메이션은 여전히 ​​이미지에 있습니다. animation.cancel()으로 충분하지 않습니다. 보기를 제거하기 전에 setAnimation(null)을 추가했습니다.

관련 문제