package com.gzsll.hupu.ui.messagelist; 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.bean.Message; import com.gzsll.hupu.ui.BaseFragment; import com.gzsll.hupu.ui.content.ContentActivity; 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/3/11. */ public class MessageListFragment extends BaseFragment implements MessageListContract.View, PullToRefreshView.OnRefreshListener, LoadMoreRecyclerView.LoadMoreListener, MessageListAdapter.OnItemClickListener { @BindView(R.id.recyclerView) LoadMoreRecyclerView recyclerView; @BindView(R.id.refreshLayout) PullToRefreshView refreshLayout; @Inject MessageListAdapter mAdapter; @Inject MessageListPresenter mPresenter; @Inject Activity mActivity; @Override public void initInjector() { getComponent(MessageComponent.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); mPresenter.attachView(this); LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity.getApplicationContext()); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(mAdapter); recyclerView.setLoadMoreListener(this); mAdapter.setOnItemClickListener(this); } @Override public void initData() { mPresenter.onMessageListReceive(); } @Override public void showLoading() { showProgress(true); } @Override public void hideLoading() { showContent(true); } @Override public void renderMessageList(List<Message> messages) { mAdapter.bind(messages); } @Override public void onRefreshCompleted() { refreshLayout.setRefreshing(false); } @Override public void onLoadCompleted(boolean haMore) { recyclerView.onLoadCompleted(haMore); } @Override public void onError() { showError(true); } @Override public void onEmpty() { setEmptyText("暂无论坛消息"); showEmpty(true); } @Override public void showContentUi(String tid, String pid, int page) { ContentActivity.startActivity(mActivity, "", tid, pid, page); } @Override public void removeMessage(Message message) { mAdapter.remove(message); recyclerView.getAdapter().notifyDataSetChanged(); } @Override public void onRefresh() { mPresenter.onRefresh(); } @Override public void onLoadMore() { mPresenter.onLoadMore(); } @Override public void onReloadClicked() { mPresenter.onReload(); } @Override public void onDestroy() { super.onDestroy(); mPresenter.detachView(); } @Override public void onMessageClick(Message message) { mPresenter.onMessageClick(message); } }