我遇到了动态创建按钮的问题。我有我的文本,我添加到按钮,但我也有一个命令参数,我想用它发送。我想让我动态创建的按钮打开一个新的Activity
并通过Intent
传递这个参数。我是一个.NET人员,这可以通过CommandParameter
的{{1}}轻松完成。
我的问题是,这是以下代码完成此任务的最佳方法吗?如果是这样,我如何将命令参数传递给click事件。如果没有,我的方法应该是什么?
Button
答案 0 :(得分:1)
替换此行:
intent.putExtra("Id", "MyCommandParameter");
与
intent.putExtra("Id", obj.getId().toString());
此外,最好使用foreach迭代列表而不是while循环。
答案 1 :(得分:0)
要将子项添加到TableLayout,您需要添加TableRow,还需要将LayoutParams添加到按钮。然后将按钮添加到TableRow
TableRow tr = new TableRow(this);
tr.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
Button b = new Button(this);
b.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
.....
.....
tr.addView(b);
layout.addView(tr,new TableLayout.LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));