因此,如果我在foreach循环中动态创建textviews并希望根据增量整数为它们分配ID,然后能够使用该ID检索textview的实例和文本,我该怎么做。例如:
int my = 0;
foreach (equip item in list)
{
TableRow tr = new TableRow(this);
tv = new TextView(this);
tv.Text = "Test";
tv.Id = "Date" + my; //I want to make the ID the word Date + the current value of my
tr.AddView(tv);
tl.AddView(tr);
my++;
}
然后获取该textview的实例
TextView tv = (TextView)"Date" + my;
上面的结果是“无法将类型字符串转换为int”在我为其分配ID的行上,“Operator +不能应用于Android.Widget.Textview和int类型的操作数”。
答案 0 :(得分:1)
这不是视图ID的预期用途,它应该是正整数。在这种情况下,您必须将ID简单地设置为数字,而不是在其前面加上“Date”。
另一种选择是使用标签。你可以这样做:
var textView = new TextView(this);
textView.Tag = "TagName";
然后,您可以按标记查看视图,假设您有一个包含您正在查找的视图的视图的引用(在这种情况下,您的TableLayout可以工作):
containingView.FindViewWithTag("TagName");
答案 1 :(得分:0)
任何android元素的ID都应该是int,你可以使用findViewByID(...)查找元素。您需要使用View View等替代方案。