动态添加按钮

Add buttons dynamically

我想使用 Android Studio 编写我的第一个 android 应用程序并遇到一些问题。

我想写一个测验应用程序,我想为每个答案添加一个按钮。但是每个答案的答案计数不应该相同。这就是为什么我想动态添加按钮。我看到了一些示例代码,其中按钮是通过代码添加的。

有什么方法可以让我不必通过代码添加每个按钮吗?我正在考虑一种类似于 WPF 的方式,在我的视图模型中有一个包含答案的列表,我的 xaml 正在自动生成按钮(例如带有 ItemTemplate 的 ListView)。

感谢 MattMatt 回答我的问题!

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);
}

http://www.mysamplecode.com/2011/10/android-programmatically-generate.html

Add button to a layout programmatically

How do I programmatically add buttons into layout one by one in several lines?

在 Android 平台上,一个 Button is a specific widget that is intended to perform a specific action when clicked. You describe a need for a dynamic number of buttons in a list format, for this you should use a RecyclerView,允许您将数据绑定到可点击项目的数量。

如果您希望 RecyclerView 列表中的每个项目看起来像一个按钮,您可以通过从内置按钮小部件继承样式来将 XML 行项目设置为看起来像一个按钮。 This question 询问如何设置带有背景的项目样式以提供类似按钮的视觉状态。