从UITableView中选择行?

时间:2016-06-03 13:34:20

标签: c# ios uitableview xamarin xamarin.ios

在我的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]的值可以在其他地方再次使用?

2 个答案:

答案 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

即可