Unity开发app之搜索功能

发表于2018-10-08
评论0 2.4k浏览
大多数APP都会为用户做一个搜索功能,方便用户查找想要的内容。对于开发人员来说要做的就是如何去实现,为此,下面就来看看如何给APP开发一个搜索功能吧。

搜索界面:

这个是用NGUI的Input做的,点击搜索框,在里面输入字符,调用change方法

        public void OnSearchTextChange()
        {
            _searchText = _cachedView.searchInput.value.Replace (" ", "");
            if (canSearchAgain && _searchText != "")
            {
                SendSearchRequest ();
            }
            else if(_searchText == "")
            {
                Reset();
            }
        } 
_searchText 是输入的内容,把空格替换掉,private bool canSearchAgain = true;    //控制是否可以再次搜索,当搜索一次数据没返回时不能再次搜索

        private void SendSearchRequest()
        {
            AppManager.Instance.SearchData.SendSearchRequest(_searchText, 0, shouyeNum, SearchType.SearchAll, RecieveDataCallBack);
            canSearchAgain = false;
        }
这个方法里给服务器发送搜索请求,把输入内容,获取的数量,搜索类型等传给服务器,当数据返回来之后调用RecieveDataCallBack 方法。

        private void RecieveDataCallBack()
        {
            canSearchAgain = true;
            if (_searchText != AppManager.Instance.SearchData.SearchedText) 
            {
                SendSearchRequest();
            }
        } 
如果搜索字符和返回的搜索字符不一样,会再次发送搜索请求。
服务器返回数据的回调方法调用,是get请求里写的,当return data之后执行回调方法,用Action定义参数绑定。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引