package com.gzsll.hupu.ui.thread.recommend;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import com.gzsll.hupu.R;
import com.gzsll.hupu.db.Thread;
import com.gzsll.hupu.ui.BaseFragment;
import com.gzsll.hupu.ui.main.MainComponent;
import com.gzsll.hupu.ui.thread.ThreadListAdapter;
import com.gzsll.hupu.widget.LoadMoreRecyclerView;
import com.yalantis.phoenix.PullToRefreshView;
import java.util.List;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Created by sll on 2016/5/11.
*/
public class RecommendThreadListFragment extends BaseFragment
implements RecommendThreadListContract.View, PullToRefreshView.OnRefreshListener,
LoadMoreRecyclerView.LoadMoreListener {
@Inject
ThreadListAdapter mAdapter;
@Inject
Activity mActivity;
@Inject
ThreadRecommendPresenter mRecommendPresenter;
@BindView(R.id.recyclerView)
LoadMoreRecyclerView recyclerView;
@BindView(R.id.refreshLayout)
PullToRefreshView refreshLayout;
@Override
public void initInjector() {
getComponent(MainComponent.class).inject(this);
}
@Override
public int initContentView() {
return R.layout.base_phonix_list_layout;
}
@Override
public void getBundle(Bundle bundle) {
}
@Override
public void initUI(View view) {
ButterKnife.bind(this, view);
mRecommendPresenter.attachView(this);
refreshLayout.setOnRefreshListener(this);
recyclerView.setAdapter(mAdapter);
LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity.getApplicationContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setLoadMoreListener(this);
}
@Override
public void initData() {
mRecommendPresenter.onThreadReceive();
}
@Override
public void showLoading() {
refreshLayout.setRefreshing(true);
}
@Override
public void showContent() {
showContent(true);
}
@Override
public void renderThreads(List<Thread> threads) {
mAdapter.bind(threads);
recyclerView.getAdapter().notifyDataSetChanged();
}
@Override
public void onError(String error) {
setErrorText(error);
showError(true);
}
@Override
public void onEmpty() {
setEmptyText("没有推荐帖子");
showEmpty(true);
}
@Override
public void onLoadCompleted(boolean hasMore) {
recyclerView.onLoadCompleted(hasMore);
}
@Override
public void onRefreshCompleted() {
refreshLayout.setRefreshing(false);
}
@Override
public void onRefresh() {
mRecommendPresenter.onRefresh();
}
@Override
public void onDestroy() {
super.onDestroy();
mRecommendPresenter.detachView();
}
@Override
public void onReloadClicked() {
mRecommendPresenter.onReload();
}
@Override
public void onLoadMore() {
mRecommendPresenter.onLoadMore();
}
}