NewsListFragment.java 3.6 KB
Newer Older
门心叼龙's avatar
门心叼龙 已提交
1 2 3 4 5
package com.fly.tour.news.fragment;


import android.content.Context;
import android.os.Bundle;
门心叼龙's avatar
门心叼龙 已提交
6 7
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
门心叼龙's avatar
门心叼龙 已提交
8 9 10
import android.view.View;

import com.fly.tour.common.base.BaseFragment;
门心叼龙's avatar
门心叼龙 已提交
11
import com.fly.tour.common.base.BaseRefreshFragment;
门心叼龙's avatar
门心叼龙 已提交
12
import com.fly.tour.common.event.KeyCode;
门心叼龙's avatar
门心叼龙 已提交
13
import com.fly.tour.common.event.me.NewsDetailCurdEvent;
门心叼龙's avatar
门心叼龙 已提交
14
import com.fly.tour.common.mvp.BaseRefreshPresenter;
门心叼龙's avatar
门心叼龙 已提交
15
import com.fly.tour.common.util.log.KLog;
门心叼龙's avatar
门心叼龙 已提交
16
import com.fly.tour.db.entity.NewsDetail;
门心叼龙's avatar
门心叼龙 已提交
17
import com.fly.tour.db.entity.NewsType;
门心叼龙's avatar
门心叼龙 已提交
18 19 20 21
import com.fly.tour.news.adapter.NewsListAdatper;
import com.fly.tour.news.contract.NewsListContract;
import com.fly.tour.news.model.NewsListModel;
import com.fly.tour.news.presenter.NewsListPresenter;
门心叼龙's avatar
门心叼龙 已提交
22 23
import com.fly.tour.trip.R;

门心叼龙's avatar
门心叼龙 已提交
24 25 26
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

门心叼龙's avatar
门心叼龙 已提交
27 28
import java.util.List;

门心叼龙's avatar
门心叼龙 已提交
29 30 31 32 33 34 35
/**
 * Description: <人工智能><br>
 * Author:      gxl<br>
 * Date:        2018/12/11<br>
 * Version:     V1.0.0<br>
 * Update:     <br>
 */
门心叼龙's avatar
门心叼龙 已提交
36
public class NewsListFragment extends BaseRefreshFragment<NewsListModel,NewsListContract.View<NewsDetail>,NewsListPresenter,NewsDetail> implements NewsListContract.View<NewsDetail>{
门心叼龙's avatar
门心叼龙 已提交
37 38

    private NewsType mNewsType;
门心叼龙's avatar
门心叼龙 已提交
39 40
    private RecyclerView mRecViewNewsDetail;
    private NewsListAdatper mNewsListAdatper;
门心叼龙's avatar
门心叼龙 已提交
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

    public static NewsListFragment newInstance(NewsType newsType) {
        NewsListFragment newsListFragment = new NewsListFragment();
        Bundle args = new Bundle();
        args.putParcelable(KeyCode.News.NEWS_TYPE,newsType);
        newsListFragment.setArguments(args);

        return newsListFragment;
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        mNewsType = getArguments().getParcelable(KeyCode.News.NEWS_TYPE);
    }

    @Override
    public int onBindLayout() {
        return R.layout.fragment_news_list;
    }

门心叼龙's avatar
门心叼龙 已提交
62 63 64 65 66
    @Override
    public boolean enableLazyData() {
        return true;
    }

门心叼龙's avatar
门心叼龙 已提交
67 68
    @Override
    public void initView(View view) {
门心叼龙's avatar
门心叼龙 已提交
69
        KLog.v("MYTAG","initView start:"+mNewsType.getTypename());
门心叼龙's avatar
门心叼龙 已提交
70 71 72 73
        mRecViewNewsDetail = view.findViewById(R.id.recview_news_list);
        mRecViewNewsDetail.setLayoutManager(new LinearLayoutManager(mActivity));
        mNewsListAdatper = new NewsListAdatper(mActivity);
        mRecViewNewsDetail.setAdapter(mNewsListAdatper);
门心叼龙's avatar
门心叼龙 已提交
74 75 76 77
    }

    @Override
    public void initData() {
门心叼龙's avatar
门心叼龙 已提交
78
        mPresenter.setNewsType(mNewsType.getId());
门心叼龙's avatar
门心叼龙 已提交
79
        KLog.v("MYTAG","initData start:"+mNewsType.getTypename());
门心叼龙's avatar
门心叼龙 已提交
80
        autoLoadData();
门心叼龙's avatar
门心叼龙 已提交
81 82 83 84 85 86
    }

    @Override
    public String getToolbarTitle() {
        return null;
    }
门心叼龙's avatar
门心叼龙 已提交
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123

    @Override
    protected int onBindRreshLayout() {
        return R.id.refview_news_list;
    }

    @Override
    public NewsListPresenter initPresenter() {
        return new NewsListPresenter(mActivity);
    }



    @Override
    public void onRefreshEvent() {
        mPresenter.refreshData();
    }

    @Override
    public void onLoadMoreEvent() {
        mPresenter.loadMoreData();
    }

    @Override
    public void onAutoLoadEvent() {
        mPresenter.refreshData();
    }

    @Override
    public void refreshData(List<NewsDetail> data) {
        mNewsListAdatper.refresh(data);
    }

    @Override
    public void loadMoreData(List<NewsDetail> data) {
        mNewsListAdatper.addAll(data);
    }
门心叼龙's avatar
门心叼龙 已提交
124 125 126 127 128 129
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void onEvent(NewsDetailCurdEvent curdEvent){
        if(curdEvent.getCode() == mNewsType.getId()){
            autoLoadData();
        }
    }
门心叼龙's avatar
门心叼龙 已提交
130
}