0
RelativeLayout에 동적으로 버튼 수를 추가하고 싶지만 코드가 작동하지 않습니다. 그것들을 디스플레이의 같은 위치에 추가합니다.버튼이있는 RelativeLayout
private void createButtons() {
buttons = new ArrayList<Button>();
RelativeLayout bg = (RelativeLayout) findViewById(R.id.Bg);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
for(int i = 0; i < channels.size(); i++){
Button newButton = new Button(this);
newButton.setId(i);
newButton.setText(channels.get(i).getTitle());
buttons.add(newButton);
if(i > 0){
lp.addRule(RelativeLayout.RIGHT_OF, i-1);
bg.addView(newButton, lp);
}else{
bg.addView(newButton);
}
}
}
작동하려면 어떻게해야합니까?
모든 반복마다 lp.addRule()을 호출하므로 LayoutParams에 각 반복마다 하나 이상의 (충돌하는) 규칙이 포함되지 않습니다. LayoutParams는 매 반복마다 인스턴스화해야합니까? – rogerkk