Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin CustomRenderer中的SearchView始终为空_Xamarin_Xamarin.android_Xamarin.forms - Fatal编程技术网

Xamarin CustomRenderer中的SearchView始终为空

Xamarin CustomRenderer中的SearchView始终为空,xamarin,xamarin.android,xamarin.forms,Xamarin,Xamarin.android,Xamarin.forms,我试图在自定义渲染器中创建一个搜索视图,但它总是返回null。我尝试了几种不同的方法,但到目前为止结果相同。现在我已经确定了这一点,因为它至少没有抛出任何其他错误 我的布局 在一个元素中改变方法 \u activity=this.Context作为活动; _searchView=(searchView)\ u activity.findviewbyd(Resource.Id.mapSearch); SetupSearchView(); SetupSearchView方法 public vo

我试图在自定义渲染器中创建一个搜索视图,但它总是返回null。我尝试了几种不同的方法,但到目前为止结果相同。现在我已经确定了这一点,因为它至少没有抛出任何其他错误

我的布局


在一个元素中改变方法

\u activity=this.Context作为活动;
_searchView=(searchView)\ u activity.findviewbyd(Resource.Id.mapSearch);
SetupSearchView();
SetupSearchView方法

public void SetupSearchView()
{
如果(_searchView!=null)
{
_searchView.QueryTextSubmit+=异步(发送方,e)=>
{
Console.WriteLine(e.Query);
};
}
}

如果这是按照前面问题中的PageRenderer方法进行的,那么可能是OneElementChanged布局膨胀之前启动了,从而给\u searchView一个空的视图,因为此时找不到它

可能有更好的处理程序来放置此初始化逻辑,但我目前还没有在Xamarin.Forms页面渲染器上执行任何操作

或许可以尝试查找SearchView控件,只要执行搜索之前,您是否应该已经有以前搜索的引用

比如:-

public void DoSearch()
{
    if (_searchView==null)
    {
        _activity = this.Context as Activity;
        _searchView = (SearchView) _activity.FindViewById(Resource.Id.mapSearch);
        SetupSearchView(); 
    }
    ...
    ...
}

然后,至少这将确认它是否与过早地在OnElementChanged事件处理程序中获取引用有关,这表明有更好的方法将其放在事件处理程序中?

我认为您提到上述方法是有效的,那么您尝试过的不起作用的方法在哪里呢?如果你打包了一个小演示,我会看一看。我的联系人详细信息在我的个人资料中。上述内容对我来说不起作用,我将尝试一起制作一个演示。这可能是因为它也在MapRenderer中。如果searchview为空,我将如何绑定搜索执行,这是我目前看到的问题。是否还有一些全球搜索活动。我不知道你的项目组成。以上内容非常方便您尝试获取我怀疑为空的
\u searchView
引用,这也是您遇到问题的原因。如果你能打包一些东西,我可以更准确地解释你遇到的问题的原因。没有这些,我只是在猜测你所经历的错误。有时查看代码要快得多,也容易得多。