package ren.solid.ganhuoio.module.search; import android.support.v7.widget.RecyclerView; import java.util.List; import ren.solid.ganhuoio.api.GankService; import ren.solid.ganhuoio.bean.SearchResult; import ren.solid.library.fragment.base.AbsListFragment; import ren.solid.library.http.HttpResult; import ren.solid.library.http.ServiceFactory; import ren.solid.library.http.subscriber.HttpResultSubscriber; import ren.solid.library.rx.RxUtils; import ren.solid.library.widget.LinearDecoration; /** * Created by _SOLID * Date:2016/11/22 * Time:9:56 * Desc: */ public class SearchResultListFragment extends AbsListFragment { private String keyWord = "Android"; private String category = "all"; public static SearchResultListFragment newInstance(String category, String keyWord) { SearchResultListFragment fragment = new SearchResultListFragment(); fragment.keyWord = keyWord; fragment.category = category; return fragment; } public void refresh(String category, String keyWord) { this.category = category; this.keyWord = keyWord; showLoading(); refreshData(); } @Override protected void customConfig() { addItemDecoration(new LinearDecoration(getContext(), RecyclerView.VERTICAL)); } @Override public void loadData(final int pageIndex) { ServiceFactory.getInstance().createService(GankService.class) .search(category, keyWord, pageIndex) .compose(this.<HttpResult<List<SearchResult>>>bindToLifecycle()) .compose(RxUtils.<HttpResult<List<SearchResult>>>defaultSchedulers_single()) .subscribe(new HttpResultSubscriber<List<SearchResult>>() { @Override public void _onError(Throwable e) { showError(new Exception(e)); } @Override public void _onSuccess(List<SearchResult> searchResults) { onDataSuccessReceived(pageIndex, searchResults); } }); } }