2012-10-26 2 views
0

런타임에서 ImageView 및 TextView를 만들고 ImageView 오른쪽에 TextView를 배치합니다. 내가 잘못 여기서 할 일을런타임에서 두 개의 뷰 생성 및 첫 번째 뷰 오른쪽에서 두 번째 뷰 만들기

private void loadContent(Module module) { 
    this.removeAllViewsInLayout();  
    this.addView(getModuleIconView(module)); 
    this.addView(getModuleNameView(module)); 
} 

private ImageView getModuleIconView(Module module) { 
    ImageView view = new ImageView(context); 
    view.setImageResource(module.getIconResId()); 
    android.view.ViewGroup.LayoutParams params = new LayoutParams(120, 120);     
    view.setLayoutParams(params); 
    view.setId(1); //seting some id for the view 
    return view; 
} 

private TextView getModuleNameView(Module module) { 
    TextView view = new TextView(context); 
    view.setText(module.getName()); 
    params.addRule(RelativeLayout.RIGHT_OF, 1); //hoping for view to be placed right of the ImageView which id was set to 1 
    return view; 
} 

:

나는이 간단한 코드를하려고 해요? 텍스트 뷰는 내 이미지 뷰가 RIGHT_OF

클래스 그것은 내 바보 같은 실수 RelativeLayout의

+0

this.addView,이 ("이"개체) 무엇인가? – Blackbelt

+0

왜 this.addview 대신 view.addView를 사용하지 않으시겠습니까 ?? – AndroidLearner

+0

this.addView는 실제로 view.addView입니다. 클래스는 RelativeLayout에서 상속받습니다. –

답변

0

에서 상속 언급이 필요 무시에 배치됩니다. 세 번째 방법 누출 setLayoutParams

그래서 올바른 방법 본문은 다음과 같습니다

private TextView getModuleNameView(Module module) { 
    TextView view = new TextView(context); 
    view.setText(module.getName()); 
    params.addRule(RelativeLayout.RIGHT_OF, 1); 
    view.setLayoutParams(params); 
    return view; 
} 
관련 문제