pda/zhuike/.svn/pristine/f8/f850da912c58117f965ee44238b...

189 lines
6.1 KiB
Plaintext
Raw Permalink Normal View History

2024-02-06 22:23:29 +08:00
package com.novelbook.android.Fragments;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import com.ixiaow.multilayout.MultiLayout;
import com.novelbook.android.R;
import com.novelbook.android.adapter.BandanAdapterNew;
import com.novelbook.android.adapter.BookListAdapter;
import com.novelbook.android.bean.NovelBlock;
import com.novelbook.android.db.Novel;
import com.novelbook.android.netsubscribe.BookSubscribe;
import com.novelbook.android.netutils.OnSuccessAndFaultListener;
import com.novelbook.android.netutils.OnSuccessAndFaultSub;
import com.novelbook.android.adapter.BandanAdapter;
import com.novelbook.android.utils.Constants;
import com.novelbook.android.utils.GsonUtil;
import com.novelbook.android.utils.OnItemClickListener;
import com.umeng.analytics.MobclickAgent;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import butterknife.BindView;
public class Fragment_bangdan extends BasicFragment {
public static final String TAG=Fragment_bangdan.class.getSimpleName();
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_CID = "CID";
private BandanAdapterNew mAdapter;
private List<NovelBlock> mBlocks;
private List<NovelBlock> mMoreBlocks;
// private List<Novel> mData;
@BindView(R.id.rvBangdan)
RecyclerView rvBandan;
// @BindView(R.id.topic_layout)
// MultiLayout topic_layout;
private int cid;
public static Fragment_bangdan newInstance(int cid) {
Fragment_bangdan fragment = new Fragment_bangdan();
Bundle args = new Bundle();
args.putInt(ARG_CID, cid);
fragment.setArguments(args);
return fragment;
}
@Override
protected void fillData() {
if(mMoreBlocks!=null) {
mAdapter.AddFooterItem(mMoreBlocks);
mAdapter.notifyDataSetChanged();
}
}
protected void processArguments(){
if (getArguments() != null) {
Bundle bundle = getArguments() ;
}
}
@Override
protected int getLayoutRes() {
return R.layout.fragment_fragment_bangdan;
}
@Override
public void initData() {
if (getArguments() != null) {
cid = getArguments().getInt(ARG_CID);
}
if(pageNo==1) {
if(mBlocks!=null){ //下拉刷新
mBlocks = new ArrayList<NovelBlock>();
mAdapter.setData(mBlocks);
initialBookList();
}else{
mBlocks = new ArrayList<NovelBlock>();
mAdapter = new BandanAdapterNew(activity, mBlocks, R.layout.recycle_list_item_bangdannew, new OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
// showBookDetail(mBlocks.get(blockId).getNs().get(novelIndex));
// showPaihangbang(mBlocks.get(position));
// Toast.makeText(getActivity(),"待。。。。。做",Toast.LENGTH_LONG).show();
}
@Override
public void onItemLongClick(View view, int position) {
// initDialog(position);
// mAdapter.removeData(position);
}
@Override
public void onLinearOutClick(View view, int blockId, int novelIndex) {
// Toast.makeText(activity, "book "+ bookId + " clicked", Toast.LENGTH_SHORT).show();
showPaihangbang(mBlocks.get(blockId));
// showBookDetail(mBlocks.get(blockId).getNs().get(novelIndex));
//showPaihangbang("分类名称" +position);
Log.d(TAG, String.format("clicked: position %s,lineId %s", novelIndex, blockId));
// openBook();
}
});
initialBookList();
}
}
showProgressDialog(true, "正在加载");
mMoreBlocks =null;
BookSubscribe.getPaihangBangByCate( Constants.SEX,cid,new OnSuccessAndFaultSub(new OnSuccessAndFaultListener() {
@Override
public void onSuccess(String result) {
Log.d(TAG, String.format("init data HttpMethods successed on init, trycnt %s " ,error_try));
error_try =0;
// mFirstPage= gson.fromJson(result, FirstPage.class);
try {
mMoreBlocks = GsonUtil.parserNovleBlocks(result,"ranks");
} catch (Exception e) {
e.printStackTrace();
Log.d(TAG, "error on : " + e.getMessage());
}
handler.sendEmptyMessage(1);
}
@Override
public void onFault(String errorMsg) {
//失败
Log.d(TAG, String.format("init data HttpMethods error on init, trycnt %s " ,error_try ));
if(error_try<error_try_max){
error_try++;
initData();
}else {
handler.sendEmptyMessage(1);
}
}
}, getActivity()));
}
public void initViews(){
//topic_layout.initTabNames(Arrays.asList(TAB_NAMES));
}
void initialBookList() {
mAdapter.setShowFootView(true);
if(rvBandan!=null) { //TODO : why nll?
rvBandan.setLayoutManager(new LinearLayoutManager(activity));
rvBandan.setAdapter(mAdapter);
}
}
@Override
public void setFTag() {
}
@Override
public void onResume() {
super.onResume();
MobclickAgent.onPageStart(TAG);
}
@Override
public void onPause(){
super.onPause();
MobclickAgent.onPageEnd(TAG);
}
}