Итак, первоначальная проблема заключалась в том, чтобы получить представление с помощью программно сгенерированных кнопок. Первым решением был LinearLayout, но я обнаружил, что не смог прокрутить его вниз, поэтому количество кнопок было ограничено. На inte rnet я обнаружил, что GridView также может выполнять такую задачу, и она будет прокручиваться. Ну, это правда, но я остановился на проблеме, упомянутой в этой теме.
После нескольких дней поиска в Google я обнаружил, что LinearLayout внутри ScrollView - это то, что мне нужно. Вот мой код xml и java для тех, кто сталкивается с одной и той же проблемой:
<ScrollView
<LinearLayout
android:id="@+id/cityLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- Content here -->
</LinearLayout>
</ScrollView>
void addButtons() {
LinearLayout linearLayout = findViewById(R.id.cityLayout);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams
(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
for (int i = 0; i < cityArray.length; i++) {
Button newButton = new Button(this);
newButton.setText(cityArray[i]);
newButton.setId(i);
newButton.setOnClickListener(onClickListener);
linearLayout.addView(newButton, layoutParams);
}
}
В любом случае, спасибо всем за помощь!