gpt4 book ai didi

android - 将一组按钮添加到 Android 应用程序中的 GridView

转载 作者:IT老高 更新时间:2023-10-28 23:27:57 26 4
gpt4 key购买 nike

我有一个应用程序,它有 5-15 个按钮,具体取决于后端可用的内容。如何定义正确的 GridView 布局文件以包含一组按钮,每个按钮都有不同的文本和其他属性?每个按钮本质上都会将一个项目添加到购物车,因此除了它添加到购物车的项目之外,onClick 代码将是相同的。

我如何定义一个数组,以便我可以添加可变数量的按钮,但仍然通过唯一 ID 引用它们中的每一个?我看过 arrays.xml 的例子,但他们创建了一个预先设置的字符串数组。我需要一种方法来创建一个对象,而不是在布局或数组 xml 文件中定义文本。

更新 - 添加了有关添加到 GridView 的信息

我想将此添加到 GridView,因此调用 [addView 方法]( http://developer.android.com/reference/android/widget/AdapterView.html#addView(android.view.View,%20int) 会导致 UnsupportedOperationException。我可以执行以下操作:

ImageButton b2 = new ImageButton(getApplicationContext());
b2.setBackgroundResource(R.drawable.img_3);
android.widget.LinearLayout container = (android.widget.LinearLayout) findViewById(R.id.lay);
container.addView(b2);

但这并没有像我想要的那样在网格中布置按钮。这可以在 GridView 中完成吗?

最佳答案

在以下代码中,您应该将 for 的上限更改为变量。

public class MainActivity
extends Activity
implements View.OnClickListener {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TableLayout layout = new TableLayout (this);
layout.setLayoutParams( new TableLayout.LayoutParams(4,5) );

layout.setPadding(1,1,1,1);

for (int f=0; f<=13; f++) {
TableRow tr = new TableRow(this);
for (int c=0; c<=9; c++) {
Button b = new Button (this);
b.setText(""+f+c);
b.setTextSize(10.0f);
b.setTextColor(Color.rgb( 100, 200, 200));
b.setOnClickListener(this);
tr.addView(b, 30,30);
} // for
layout.addView(tr);
} // for

super.setContentView(layout);
} // ()

public void onClick(View view) {
((Button) view).setText("*");
((Button) view).setEnabled(false);
}
} // class

关于android - 将一组按钮添加到 Android 应用程序中的 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/775188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com