Problem polega na tym, że przyciski nie będą automatycznie owijać się w następną część ekranu. Musisz konkretnie powiedzieć Androidowi, w jaki sposób chcesz ustawić swoje Widoki. Robisz to używając ViewGroups takich jak LinearLayout lub RelativeLayout.
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);
}
Jestem zakładając, że R.id.linear_layout_tags
jest LinearLayout rodzic Twojego XML dla tej działalności.
Zasadniczo to, co tu robisz, tworzysz LinearLayout, który będzie rzędem do trzymania czterech przycisków. Następnie dodaje się przyciski i każdemu z nich przypisuje się liczbę jako jej identyfikator. Po dodaniu wszystkich przycisków wiersz zostanie dodany do układu aktywności. Potem się powtarza. To tylko jakiś pseudo kod, ale prawdopodobnie zadziała.
No i następnym razem należy poświęcić więcej czasu na swoje pytanie ...
https://stackoverflow.com/questions/how-to-ask
Moim pierwszym pomysłem była zmiana metody getView() w niestandardowym SimpleCursorAdapter dla ListView, ale może być łatwiejsze programowanie przycisków. Pytam tutaj. Być może ktoś zadecydował o tym. – Sviatoslav
Mogę ci odpowiedzieć, ale pytanie jest zamknięte:/ –
@ B.Young: Ponownie otwarte. –