Unity开发app之搜索功能
发表于2018-10-08
大多数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定义参数绑定。