使用连接字符串分配ID并检索TextView的实例

时间:2012-01-19 19:22:56

标签: android xamarin.android

因此,如果我在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类型的操作数”。

2 个答案:

答案 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等替代方案。