在我的Xamarin iOS应用程序中,我有以下代码:
public class TableSource : UITableViewSource
{
public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
new UIAlertView("Row Selected", TableItems[indexPath.Row], null, "OK").Show();
}
}
只要用户选择了新单元格,就会成功发送警报,但我希望能够在ViewController
内调用此方法或类似方法。基本上我可以单击一个按钮,它将返回当前选定的单元格。
我知道我需要的是TableItems[indexPath.Row]
所以我还是可以进一步修改RowSelected
方法,以便TableItems[indexPath.Row]
的值可以在其他地方再次使用?
答案 0 :(得分:3)
我假设TableItems是您创建的数组。创建一个变量来存储索引。调用RowSelected方法时,将变量index设置为indexPath.Row的值。每当调用该方法时,它将根据单击的行重置该值,现在您拥有该值并可以在程序的其他位置使用它
答案 1 :(得分:0)
对于遇到此问题的其他任何人,我就是这样做的:
public class TableSource : UITableViewSource
{
public static string SelectedRow;
public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
new UIAlertView("Row Selected", TableItems[indexPath.Row], null, "OK").Show();
SelectedRow = TableItems[indexPath.Row];
}
}
然后,只要我需要使用当前选择的项目,只需拨打TableSource.SelectedRow