动态添加按钮
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 询问如何设置带有背景的项目样式以提供类似按钮的视觉状态。
我想使用 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 询问如何设置带有背景的项目样式以提供类似按钮的视觉状态。