首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数超出范围,启用了搜索的DialogViewController

参数超出范围,启用了搜索的DialogViewController
EN

Stack Overflow用户
提问于 2010-08-22 03:12:09
回答 1查看 359关注 0票数 1

我有一个EnableSearch = true的DialogViewController。搜索工作正常,并在对话框中显示结果。如果我导航到一个结果元素或另一个选项卡,然后返回到搜索选项卡并尝试点击任何搜索结果元素,我在DialogViewController.cs (var element = section.Elements indexPath.Row;)的第463行得到“参数超出范围。\n参数名称:索引”。

代码语言:javascript
复制
public class SearchView : DialogViewController
    {
        IFlickService _flickService;
        static IEnumerable<Flick> _flicks;

        public SearchView(IFlickService flickService) : base (UITableViewStyle.Grouped, null, true)
        {
            _flickService = flickService;
            _flicks = new List<Flick>();

            CreateUI();
        }

        public override void SearchButtonClicked (string text)
        {
            base.SearchButtonClicked (text);
            _flicks = _flickService.Search(text);
            CreateUI();         
        }

        void CreateUI()
        {
            EnableSearch = true;

            Root = new RootElement("Search For Flicks") {
                new Section(){
                    from f in _flicks
                    select (Element) new FlickElement(f, delegate { 
                        NavigationController.PushViewController(new FlickDetailView(_flickService, f), true);
                    })
                }
            };
        }   
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-22 04:11:07

答案是覆盖ViewWillAppear(),并将我对CreateUI()的调用从构造函数移到ViewWillAppear()。我还必须将EnableSearch = true移回到构造函数中,因为它应该在ViewWillAppear()之前设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3538545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档