Unity開發app之搜索功能


搜索界面:

 

這個是用NGUIInput做的,點擊搜索框,在裏面輸入字符,調用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定義參數綁定

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章