UITableView只显示数组的第二个值......我的错误在哪里?
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath) {
UITableViewCell cell = tableView.DequeueReusableCell(cellID);
if (cell == null) {
cell = new UITableViewCell (UITableViewCellStyle.Subtitle, cellID);
}
string firstValue = "Hello"
string secondValue = "Bye"
string[] concat = {firstValue, secondValue};
foreach(string op in concat){
cell.TextView.Text = op;
}
return cell;}
答案 0 :(得分:2)
您正在对同一个变量进行多次分配,因此最后一次分配将覆盖以前的任何分配。要附加文字,您可以使用+=
运算符
foreach(string op in concat){
cell.TextView.Text += op;
}
答案 1 :(得分:0)
foreach语句将循环遍历数组中的每个字符串,并将单元格的textView的text属性设置为当前循环的字符串。
尝试:
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath) {
UITableViewCell cell = tableView.DequeueReusableCell (cellID);
if (cell == null) {
cell = new UITableViewCell (UITableViewCellStyle.Subtitle, cellID);
}
string firstValue = "Hello"
string secondValue = "Bye"
string[] concat = {firstValue, secondValue};
foreach(string op in concat){
cell.TextView.Text += op;
}
return cell;
}
这会将数组中的每个字符串连接到单元格的textView文本。因此它将导致“Hello Bye”。
编辑:如果您想在新行上使用每个数组值:
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath) {
UITableViewCell cell = tableView.DequeueReusableCell (cellID);
if (cell == null) {
cell = new UITableViewCell (UITableViewCellStyle.Subtitle, cellID);
}
string firstValue = "Hello"
string secondValue = "Bye"
string[] concat = {firstValue, secondValue};
cell.TextView.Text = concat[indexPath!.row];
return cell;
}