gpt4 book ai didi

java - 在 1 行上动态加载 5 个按钮

转载 作者:行者123 更新时间:2023-11-29 20:00:01 24 4
gpt4 key购买 nike

我在使用这个应该在 5 个按钮之后创建一个新行的表格布局时遇到了一些困难。当我添加 button.setText(lesson.getId()); 时它也会崩溃;

LesSelectionActivity.java

    public static final int LESSON_ROW_COUNT = 5;

public void setButtonLessons() {

//draw LesSelection
setContentView(R.layout.activity_drumles);

TableLayout layout = (TableLayout) findViewById(R.id.les_select_layout);

int buttonIdCounter = 0;
for (Lesson lesson : getArrayLesson()) {
int columnCounter = 0;

TableRow tr = new TableRow(this);
TableRow.LayoutParams params = new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
params.setMargins(30, 0, 30, 0);
tr.setLayoutParams(params);
layout.addView(tr);

if (columnCounter % LESSON_ROW_COUNT == 0) {
tr = new TableRow(this);
params = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT);
params.setMargins(30, 0, 30, 0);
tr.setLayoutParams(params);
layout.addView(tr);
}

Button button = new Button(this);

button.setId(buttonIdCounter);

//button.setText(lesson.getId());

button.setOnClickListener(this);
button.setBackgroundResource(R.drawable.buttonsoranje);
TableRow.LayoutParams paramsRow = new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT);

paramsRow.column = columnCounter % LESSON_ROW_COUNT;
params.gravity = Gravity.CENTER_HORIZONTAL;


tr.addView(button);

buttonIdCounter++;
columnCounter = (columnCounter + 1) % LESSON_ROW_COUNT;
}

}

那么,为什么 setText 不起作用,而 setBackgroundResource 却起作用? (请注意,我有“//”它因为它现在不工作,遮阳篷不是“删除//”)

为什么每行只有一个按钮?

最佳答案

我假设 lesson.getId(); 返回一个整数值 id。 setText() 需要一个字符串参数。你需要做 button.setText(String.valueOf(lesson.getId()));

希望这对您有所帮助!

关于java - 在 1 行上动态加载 5 个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36402086/

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