189 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			189 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 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);
 | |
|     }
 | |
| 
 | |
| }
 |