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); | ||
|  |     } | ||
|  | 
 | ||
|  | } |