You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
reader/app/src/main/java/com/novel/read/fragment/StackFragment.java

104 lines
2.8 KiB

package com.novel.read.fragment;
import android.os.Bundle;
import android.widget.TextView;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.mango.mangolib.event.EventManager;
import com.novel.read.R;
import com.novel.read.activity.NovelSearchActivity;
import com.novel.read.adapter.StackAdapter;
import com.novel.read.base.NovelBaseFragment;
import com.novel.read.event.GetCategoryTypeEvent;
import com.novel.read.http.AccountManager;
import com.novel.read.model.protocol.CategoryTypeResp;
import com.novel.read.widget.RefreshLayout;
import com.squareup.otto.Subscribe;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
/**
* create by 赵利君 on 2019/6/10
* describe:
*/
public class StackFragment extends NovelBaseFragment {
@BindView(R.id.tv_search)
TextView tvSearch;
@BindView(R.id.rlv_book_type)
RecyclerView mRlBookType;
private StackAdapter mAdapter;
@BindView(R.id.refresh)
RefreshLayout refreshLayout;
private List<CategoryTypeResp.CategoryBean> mList;
public static StackFragment newInstance() {
Bundle args = new Bundle();
StackFragment fragment = new StackFragment();
fragment.setArguments(args);
return fragment;
}
@Override
protected int getLayoutId() {
return R.layout.fragment_stack;
}
@Override
protected void initView() {
EventManager.Companion.getInstance().registerSubscriber(this);
mList = new ArrayList<>();
mRlBookType.setLayoutManager(new GridLayoutManager(getActivity(),2));
mAdapter = new StackAdapter(mList);
mRlBookType.setAdapter(mAdapter);
}
@Override
protected void initData() {
refreshLayout.showLoading();
getData();
refreshLayout.setOnReloadingListener(new RefreshLayout.OnReloadingListener() {
@Override
public void onReload() {
getData();
}
});
}
private void getData(){
AccountManager.getInstance().getCategoryType();
}
@OnClick(R.id.tv_search)
public void onViewClicked() {
toActivity(NovelSearchActivity.class);
getActivity().overridePendingTransition(R.anim.message_fade_in, R.anim.message_fade_out);
}
@Subscribe
public void getCategoryType(GetCategoryTypeEvent event){
refreshLayout.showFinish();
if (event.isFail()){
refreshLayout.showError();
}else {
mList.clear();
mList.addAll(event.getResult().getCategory());
mAdapter.notifyDataSetChanged();
}
}
@Override
public void onDestroy() {
super.onDestroy();
EventManager.Companion.getInstance().unregisterSubscriber(this);
}
}