문제는 버튼이 자동으로 화면의 다음 부분으로 넘어 가지 않는다는 것입니다. 뷰를 배치하는 방법을 Android에 구체적으로 알려줘야합니다. LinearLayout 또는 RelativeLayout과 같은 ViewGroups를 사용하여이 작업을 수행합니다.
LinearLayout layout = (LinearLayout) findViewById(R.id.linear_layout_tags);
layout.setOrientation(LinearLayout.VERTICAL); //Can also be done in xml by android:orientation="vertical"
for (int i = 0; i < 3; i++) {
LinearLayout row = new LinearLayout(this);
row.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
for (int j = 0; j < 4; j++ {
Button btnTag = new Button(this);
btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
btnTag.setText("Button " + (j + 1 + (i * 4));
btnTag.setId(j + 1 + (i * 4));
row.addView(btnTag);
}
layout.addView(row);
}
나는 R.id.linear_layout_tags
이 활동에 대한 XML의 부모의 LinearLayout이라고 가정하고있다.
여기 네가하는 일은 네 개의 버튼을 누르고있는 행이 될 LinearLayout을 만드는 것입니다. 그런 다음 버튼이 추가되고 각 ID에 점진적으로 번호가 지정됩니다. 모든 단추가 추가되면 행이 활동 레이아웃에 추가됩니다. 그런 다음 반복됩니다. 이것은 약간의 의사 코드 일 뿐이지 만 아마도 작동 할 것입니다.
아, 그리고 다음 번에 귀하의 질문에 더 많은 시간을 할애해야 ...
https://stackoverflow.com/questions/how-to-ask
내 첫 번째 아이디어는 ListView에 대한 사용자 지정 SimpleCursorAdapter에서 getView()를 변경하는 것이지만 버튼을 프로그래밍 방식으로 작성하는 것이 더 간단 할 수도 있습니다. 그래서 나는 여기서 물어 본다. 누군가이 질문을 결정했을지 모릅니다. – Sviatoslav
답변을 드릴 수는 있지만 질문은 닫힙니다./ –
@ B. 영 : 재개되었습니다. –