- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 UITableView
代码如下
public partial class WishlistTableController : UITableViewController
{
public WishlistTableController (IntPtr handle) : base (handle)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
List<WishlistDatabaseModel> WishlistTableItems = ExperienceMethods.GetWishlistItems();
WishlistTableView.Source = new WishlistSource(WishlistTableItems, this, this.NavigationController);
WishlistTableView.RowHeight = UITableView.AutomaticDimension;
WishlistTableView.EstimatedRowHeight = 80f;
WishlistTableView.ReloadData();
}
}
此外,我还有此 TableView 的数据源,我需要在 RowSelect 上转到另一个 ViewController。
但是当我点击行时,我得到了这个错误
System.NullReferenceException: Object reference not set to an instance of an object at TravelApp.DataSources.WishlistSource+d__7.MoveNext () [0x000bb] in /Users/evhenijsuhomlyn/Documents/GitHub/TravelAppiOS/TravelApp/DataSources/WishlistSource.cs:53
我检查了 Controller 和 Storuboard ID,一切正常。
代码如下
public class WishlistSource : UITableViewSource
{
private UINavigationController primNav { get; }
readonly List<WishlistDatabaseModel> _tableItems;
private WishlistTableController owner;
public WishlistSource(List<WishlistDatabaseModel> items, WishlistTableController owner,
UINavigationController nav)
{
_tableItems = items;
this.owner = owner;
primNav = nav;
}
public override nint RowsInSection(UITableView tableview, nint section)
{
if (_tableItems.Count == 0)
{
var noDataLabel = new UILabel
{
Text = "No Experiences at your location at this time. Try to change destination",
TextColor = UIColor.Black,
TextAlignment = UITextAlignment.Center,
LineBreakMode = UILineBreakMode.WordWrap,
Lines = 0
};
tableview.BackgroundView = noDataLabel;
tableview.SeparatorStyle = UITableViewCellSeparatorStyle.None;
return _tableItems.Count;
}
tableview.BackgroundView = null;
tableview.SeparatorStyle = UITableViewCellSeparatorStyle.SingleLine;
return _tableItems.Count;
}
public override async void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
var selectedExperience = await ExperienceMethods.GetSelectedTour(_tableItems[indexPath.Row].id);
if (selectedExperience == "Saved")
{
MyExperienceDetailViewController MyExperienceDetailController = primNav.Storyboard.InstantiateViewController("MyExperienceDetailViewController") as MyExperienceDetailViewController;
primNav.PushViewController(MyExperienceDetailController, true);
}
tableView.DeselectRow(indexPath, true);
}
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
var cell = tableView.DequeueReusableCell("wishlistcell", indexPath) as WishlistCell;
WishlistDatabaseModel item = _tableItems[indexPath.Row];
cell.UpdateCell(item);
return cell;
}
}
哪里会出问题?
最佳答案
您应该尝试使用另一种方法来创建 Storyboard。
var storyboard = UIStoryboard.FromName("YourStoryboard", null);
var viewController = storyboard.InstantiateViewController(nameof(YourViewController));
NavigationController.PushViewController(viewController, true);
关于c# - 无法导航到 RowSelect 上的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54403737/
我正在尝试这样做,当我在 UITableView 上按下一行时,它会将一些数据发送到另一个 UIViewController 并生成一个序列。 但是在测试时,它给了我: System.NullRefe
我正在尝试获取表中的单个元素键。 但我得到未定义我怎样才能捕获 id? https://ant.design/components/table/#components-table-demo-expan
需要捕获具有基于复选框的行选择的数据表的 rowSelect 事件。代码如下: 我无法理解这种行为。当我第一次单击复选框时,将调用方法“onRowSelect”。当我取消选择时,不会调用“onR
我知道这个问题可能会重复,但我真的找不到我的问题的解决方案;我的问题是,除非我在关闭对话框后单击任何行以显示详细信息对话框,否则排序和过滤等数据表功能无法正常工作,所有“排序、过滤”都正常工作并按预期
我的 xhtml 中有以下内容
有一个带有风格的 ListView (感谢Sertac Akyuz提供的解决方案:)) ListView_SetExtendedListViewStyle(ListView1.Handle, LVS_
我一直在尝试通过组合多个 UITableView 来实现多 ListView 。 我遇到的一个问题是,当我在多列 View 中的一个 TableView 上选择一行时,我无法覆盖要调用的 RowSel
我正在 Xamarin 中构建一个基于 TableView 的简单应用程序。我在 UITableViewSource 上的 RowSelected 事件在模拟器中完美运行,但是当我在运行 iOS 7.
我有 UITableView 代码如下 public partial class WishlistTableController : UITableViewController { publi
我有一个主细节jqGrid,它工作得很好。详细网格是根据主网格所选行中的单元格值以及对 API 的 ajax 调用(即 datatype: 'json' 和 url: 'http://myServic
我正在尝试使用 p:datatable 列出先前的搜索结果,然后选择一行以显示在显示对话框中(如展示中所示,http://www.primefaces.org/showcase/ui/data/dat
我正在将原生 Objective-C 应用程序移植到 Monotouch 解决方案。 我的 Storyboard中有一个 tableview,带有一些静态表格单元格。 使用以下objective-c
我有一个 UITableViewSource,我已经对其进行了子类化。我正在覆盖 GetCell 并使用我自己的子类单元格,如下所示: public override UITableViewCell
我有一个网格面板,我正在使用 ExtJS 3.4 。我想选择一行,然后当我单击更新按钮时,所选行的值必须填充在窗口中。我尝试使用 rowselect 和 rowclick 事件,但这两个事件都不起作用
作为 Kendo grid 升级的一部分,我的一些旧代码似乎由于实现的变化而无法工作 我已经使用events.Change 来触发行点击事件(下面的示例代码) @(Html.Kendo().Grid(
为什么 rowDoubleClick 或 rowClick 事件会返回比 rowSelect 更强大的对象? 例如rowDoubleClick $('#tree01').on('rowDoubl
到目前为止,我遇到的所有使用 TableView 的示例都使用了 UITableViewController。但我想在 UIViewController 中使用它。我在 View 顶部放置了一个 La
当我从 UITableViewSource 中单击 RowSelected 时,我想打开 View Controller 我在打开 UIViewController 时使用这段代码 如有任何帮助,我们
我使用的是 PrimeFaces 5.1,当用户使用以下代码单击 p:dataTable 行时,我会调用 history.pushState: 如您
我在自定义 UITableViewCell 中有一个“加载更多”UIButton。我的表也使用了一个代表。单击此按钮时,我想重新加载表格数据。我注意到当我点击按钮时,没有任何反应。但是当我点击按钮周围
我是一名优秀的程序员,十分优秀!