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定义参数绑定。
