2014-04-27 2 views
0

뷰 그룹에 뷰를 추가하려고하는데 (xml없이) 뷰를 표시 할 수 없습니다. 나는 내가 빠진 것을 알아낼 수 없다 ... 제발 도와 줘, 나는 몇 시간 동안 모든 웹을보고 있었다. 다음은 내 코드입니다 (Background 클래스는 ViewGroup을 확장 함).ViewGroup에 추가 된 뷰가 표시되지 않습니다.

public void setupBackground() 
{ 
    this.backgroundView = new Background(activity);  

    View bgGround = new View(activity); 
    bgGround.setX(100); 
    bgGround.setY(200); 
    bgGround.setBackgroundColor(activity.getResources().getColor(R.color.black)); 
    bgGround.setBackgroundResource(R.drawable.mario_ground); 
    this.backgroundView.addView(bgGround, 100,100); 

    this.activity.addContentView(backgroundView, new LayoutParams(bgWidth,bgHeight));  
} 
+0

와'bgGround' 인스턴스 바로 나타나지 않는 사람이다? 어떤 종류의'LayoutParams'를 사용하고 있습니까? 'bgWidth'와'bgHeight'가 올바른 값을 가지고 있는지 확신합니까? – rekaszeru

+0

답장을 보내 주셔서 감사합니다. 그게 바로 bgGround가 나타나지 않는 것입니다. bgWidth 및 bgHeight는 ok입니다 (1024 및 552). 이 종류의 LayoutParams LayoutParams (int 폭, int 높이)를 사용합니다. addContentView를 사용하여 bgGround를 추가하려고하면 작동하지만 backgroundView에 추가하려고합니다. – user3577962

답변

0

좋아, 찾았습니다. ViewGroup은 내용을 그리기에 충분하지 않고 대신 RelativeLayout (또는 다른 종류의 레이아웃)을 확장해야했습니다. 내가 느슨한 이유는 ViewGroup에서 여전히 onLayout 메서드를 오버라이드 한 다음 RelativeLayout으로 변경 했으므로 RelativeLayout의 onLayout이 super.onLayout을 호출하지 못했기 때문입니다. 어쨌든, 미안 불쌍한 내 영어에 대한

감사합니다 :)

관련 문제