package com.llf.common.ui.news.presenter; import com.llf.common.api.Apis; import com.llf.common.entity.NewsEntity; import com.llf.common.ui.news.NewsFragment; import com.llf.common.ui.news.NewsModel; import com.llf.common.ui.news.contract.NewsContract; import java.util.List; /** * Created by llf on 2017/3/15. * 新闻Presenter */ public class NewsPresenter implements NewsContract.Presenter, NewsModel.OnLoadFirstDataListener { private NewsContract.View view; private NewsContract.Model model; public NewsPresenter(NewsContract.View view) { this.view = view; this.model = new NewsModel(); } @Override public void start() { } @Override public void loadData(int type, int page) { String url = getUrl(type, page); model.loadData(url, type, this); } @Override public void onSuccess(List<NewsEntity> list) { view.returnData(list); } @Override public void onFailure(String str, Exception e) { view.showErrorTip("您已进入没有网络的二次元"); } private String getUrl(int type, int page) { StringBuilder sb=new StringBuilder(); switch (type){ case NewsFragment.ONE: sb.append(Apis.TOP_URL).append(Apis.TOP_ID); break; case NewsFragment.TWO: sb.append(Apis.COMMON_URL).append(Apis.NBA_ID); break; case NewsFragment.THREE: sb.append(Apis.COMMON_URL).append(Apis.CAR_ID); break; case NewsFragment.FOUR: sb.append(Apis.COMMON_URL).append(Apis.JOKE_ID); break; default: sb.append(Apis.TOP_URL).append(Apis.TOP_ID); break; } sb.append("/").append(page).append(Apis.END_URL); return sb.toString(); } }