693 lines
24 KiB
Plaintext
693 lines
24 KiB
Plaintext
|
package com.novelbook.android.Fragments;
|
|||
|
|
|||
|
import android.content.Context;
|
|||
|
import android.graphics.Rect;
|
|||
|
import android.os.Bundle;
|
|||
|
import android.os.Handler;
|
|||
|
import android.os.Message;
|
|||
|
import android.support.v4.app.Fragment;
|
|||
|
import android.support.v4.app.FragmentPagerAdapter;
|
|||
|
import android.support.v4.app.FragmentStatePagerAdapter;
|
|||
|
import android.support.v4.widget.SwipeRefreshLayout;
|
|||
|
import android.support.v7.widget.GridLayoutManager;
|
|||
|
import android.support.v7.widget.LinearLayoutManager;
|
|||
|
import android.support.v7.widget.RecyclerView;
|
|||
|
import android.text.TextUtils;
|
|||
|
import android.util.Log;
|
|||
|
import android.view.View;
|
|||
|
import android.widget.Button;
|
|||
|
import android.widget.ImageView;
|
|||
|
import android.widget.LinearLayout;
|
|||
|
import android.widget.TextView;
|
|||
|
import android.widget.Toast;
|
|||
|
|
|||
|
import com.bumptech.glide.Glide;
|
|||
|
import com.google.gson.Gson;
|
|||
|
import com.google.gson.JsonArray;
|
|||
|
import com.google.gson.JsonElement;
|
|||
|
import com.google.gson.JsonObject;
|
|||
|
import com.google.gson.JsonParser;
|
|||
|
import com.novelbook.android.BookActivity;
|
|||
|
import com.novelbook.android.R;
|
|||
|
import com.novelbook.android.bean.FirstPage;
|
|||
|
import com.novelbook.android.bean.NovelBlock;
|
|||
|
import com.novelbook.android.db.Novel;
|
|||
|
import com.novelbook.android.db.SiteRule;
|
|||
|
import com.novelbook.android.netsubscribe.BookSubscribe;
|
|||
|
import com.novelbook.android.netutils.OnSuccessAndFaultListener;
|
|||
|
import com.novelbook.android.netutils.OnSuccessAndFaultSub;
|
|||
|
import com.novelbook.android.utils.Constants;
|
|||
|
import com.novelbook.android.utils.CyclePageIndicator;
|
|||
|
import com.novelbook.android.utils.GsonUtil;
|
|||
|
import com.novelbook.android.utils.ImageUtil;
|
|||
|
import com.novelbook.android.utils.MyViewPager;
|
|||
|
import com.novelbook.android.utils.OnItemClickListener;
|
|||
|
import com.novelbook.android.adapter.BookListAdapter;
|
|||
|
import com.umeng.analytics.MobclickAgent;
|
|||
|
import com.youth.banner.Banner;
|
|||
|
import com.youth.banner.BannerConfig;
|
|||
|
import com.youth.banner.Transformer;
|
|||
|
import com.youth.banner.listener.OnBannerListener;
|
|||
|
import com.youth.banner.loader.ImageLoader;
|
|||
|
|
|||
|
import org.json.JSONObject;
|
|||
|
import org.litepal.LitePal;
|
|||
|
|
|||
|
import java.util.ArrayList;
|
|||
|
import java.util.Iterator;
|
|||
|
import java.util.List;
|
|||
|
|
|||
|
import butterknife.BindView;
|
|||
|
import butterknife.OnClick;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
public class Fragment_jingxuan extends BasicFragment implements OnBannerListener {
|
|||
|
public static final String TAG=Fragment_jingxuan.class.getSimpleName();
|
|||
|
|
|||
|
private String mParam1;
|
|||
|
private String mParam2;
|
|||
|
//@BindView(R.id.llTuijian)
|
|||
|
// LinearLayout llTuijian;
|
|||
|
@BindView(R.id.banner)
|
|||
|
Banner banner;
|
|||
|
@BindView(R.id.dot_horizontal)
|
|||
|
LinearLayout cyclell;
|
|||
|
@BindView(R.id.viewpager_tuijian)
|
|||
|
MyViewPager mViewpagerTuijian;
|
|||
|
//@BindView(R.id.titleIndictator)
|
|||
|
// TitlePageIndicator titleIndicator;
|
|||
|
@BindView(R.id.imageBlock0)
|
|||
|
ImageView imageViewBlock0;
|
|||
|
@BindView(R.id.imageBlock1)
|
|||
|
ImageView imageViewBlock1;
|
|||
|
@BindView(R.id.imageBlock2)
|
|||
|
ImageView imageViewBlock2;
|
|||
|
@BindView(R.id.imageBlock3)
|
|||
|
ImageView imageViewBlock3;
|
|||
|
@BindView(R.id.tvBlock0)
|
|||
|
TextView tvBlock0;
|
|||
|
@BindView(R.id.tvBlock1)
|
|||
|
TextView tvBlock1;
|
|||
|
@BindView(R.id.tvBlock2)
|
|||
|
TextView tvBlock2;
|
|||
|
@BindView(R.id.tvBlock3)
|
|||
|
TextView tvBlock3;
|
|||
|
@BindView(R.id.buttonMore1)
|
|||
|
Button btnMore1;
|
|||
|
@BindView(R.id.buttonMore2)
|
|||
|
Button btnMore2;
|
|||
|
@BindView(R.id.buttonMore3)
|
|||
|
Button btnMore3;
|
|||
|
@BindView(R.id.buttonMore4)
|
|||
|
Button btnMore4;
|
|||
|
@BindView(R.id.llBlock1)
|
|||
|
LinearLayout ll1;
|
|||
|
@BindView(R.id.llBlock2)
|
|||
|
LinearLayout ll2;
|
|||
|
@BindView(R.id.llBlock3)
|
|||
|
LinearLayout ll3;
|
|||
|
@BindView(R.id.llBlock4)
|
|||
|
LinearLayout ll4;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
private List<Fragment> mFragments;
|
|||
|
private ArrayList<View> mList;
|
|||
|
// String[] mTitle;
|
|||
|
private List<NovelBlock> mBlocks;
|
|||
|
private List<String> list_path;
|
|||
|
private List<String> list_title;
|
|||
|
|
|||
|
private FirstPage mFirstPage;
|
|||
|
private int INDEX_BANNER =1;
|
|||
|
private int INDEX_TUIJIAN =2;
|
|||
|
private int blockIndex =3; //从第3个block 开始处理
|
|||
|
private int gridItemSpace = 0;
|
|||
|
public Fragment_jingxuan() {
|
|||
|
// Required empty public constructor
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public static Fragment_jingxuan newInstance(String param1, String param2) {
|
|||
|
Fragment_jingxuan fragment = new Fragment_jingxuan();
|
|||
|
Bundle args = new Bundle();
|
|||
|
|
|||
|
fragment.setArguments(args);
|
|||
|
return fragment;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
@Override
|
|||
|
protected int getLayoutRes() {
|
|||
|
return R.layout.fragment_jingxuan;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
@Override
|
|||
|
public void initData() {
|
|||
|
|
|||
|
|
|||
|
showProgressDialog(true, "正在加载");
|
|||
|
|
|||
|
BookSubscribe.getFirstPage(Constants.SEX,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 {
|
|||
|
|
|||
|
mBlocks = GsonUtil.parserNovleBlocks(result,"blocks");
|
|||
|
} catch (Exception e) {
|
|||
|
e.printStackTrace();
|
|||
|
}
|
|||
|
handler.sendEmptyMessage(1);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onFault(String errorMsg) {
|
|||
|
//失败
|
|||
|
// Log.d(TAG, String.format("init data HttpMethods error on init, trycnt %s " ,error_try ));
|
|||
|
retryErorr(1);
|
|||
|
|
|||
|
}
|
|||
|
}, getActivity()));
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
protected void processArguments(){
|
|||
|
if (getArguments() != null) {
|
|||
|
Bundle bundle = getArguments() ;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
@Override
|
|||
|
protected void fillData() {
|
|||
|
/*
|
|||
|
mHotNewData_l = initData(mHotNewData_l, 'B');
|
|||
|
mHotNewData_g = initData(mHotNewData_g, 'D');
|
|||
|
mHotLianZaiData_l = initData(mHotLianZaiData_l, 'C');
|
|||
|
mHotLianZaiData_g = initData(mHotLianZaiData_g, 'D');
|
|||
|
mFinishedData_l = initData(mFinishedData_l, 'A');
|
|||
|
mFinishedData_g = initData(mFinishedData_g, 'G');
|
|||
|
*/
|
|||
|
|
|||
|
ll1.setVisibility(View.GONE);
|
|||
|
ll2.setVisibility(View.GONE);
|
|||
|
ll3.setVisibility(View.GONE);
|
|||
|
ll4.setVisibility(View.GONE);
|
|||
|
blockIndex=3;
|
|||
|
|
|||
|
|
|||
|
if(mBlocks ==null || mBlocks.size() ==0){
|
|||
|
return;
|
|||
|
}
|
|||
|
blockIndex--;
|
|||
|
if(mBlocks.size()>blockIndex) {
|
|||
|
ll1.setVisibility(View.VISIBLE);
|
|||
|
mHotNewData_l = mBlocks.get(blockIndex).getNs().subList(0,mBlocks.get(blockIndex).getOneself());
|
|||
|
mHotNewData_g = mBlocks.get(blockIndex).getNs().subList(mBlocks.get(blockIndex).getOneself(),mBlocks.get(blockIndex).getNs().size());
|
|||
|
tvBlock1.setText(mBlocks.get(blockIndex).getName());
|
|||
|
loadImageView(mBlocks.get(blockIndex).getIcon(),imageViewBlock1);
|
|||
|
if(TextUtils.isEmpty(mBlocks.get(blockIndex).getTitle())){
|
|||
|
btnMore1.setVisibility(View.GONE);
|
|||
|
}else {
|
|||
|
btnMore1.setTag(mBlocks.get(blockIndex));
|
|||
|
}
|
|||
|
|
|||
|
blockIndex++;
|
|||
|
}
|
|||
|
// mHotNewData_g = initData(mHotNewData_g, 'D');
|
|||
|
if(mBlocks.size()>blockIndex) {
|
|||
|
ll2.setVisibility(View.VISIBLE);
|
|||
|
mHotLianZaiData_l = mBlocks.get(blockIndex).getNs().subList(0,mBlocks.get(blockIndex).getOneself());
|
|||
|
mHotLianZaiData_g = mBlocks.get(blockIndex).getNs().subList(mBlocks.get(blockIndex).getOneself(),mBlocks.get(blockIndex).getNs().size());
|
|||
|
tvBlock2.setText(mBlocks.get(blockIndex).getName());
|
|||
|
loadImageView(mBlocks.get(blockIndex).getIcon(),imageViewBlock2);
|
|||
|
|
|||
|
if(TextUtils.isEmpty(mBlocks.get(blockIndex).getTitle())){
|
|||
|
btnMore2.setVisibility(View.GONE);
|
|||
|
}else {
|
|||
|
btnMore2.setTag(mBlocks.get(blockIndex));
|
|||
|
}
|
|||
|
blockIndex++;
|
|||
|
}
|
|||
|
// mHotLianZaiData_g = initData(mHotLianZaiData_g, 'D');
|
|||
|
// mFinishedData_l = mBlocks.get(2).getNs(); //initData(mFinishedData_l, 'A');
|
|||
|
if(mBlocks.size()> blockIndex ) {
|
|||
|
ll3.setVisibility(View.VISIBLE);
|
|||
|
mFinishedData_l= mBlocks.get(blockIndex).getNs().subList(0,mBlocks.get(blockIndex).getOneself());
|
|||
|
mFinishedData_g = mBlocks.get(blockIndex).getNs().subList(mBlocks.get(blockIndex).getOneself(),mBlocks.get(blockIndex).getNs().size());
|
|||
|
tvBlock3.setText(mBlocks.get(blockIndex).getName());
|
|||
|
loadImageView(mBlocks.get(blockIndex).getIcon(),imageViewBlock3);
|
|||
|
|
|||
|
if(TextUtils.isEmpty(mBlocks.get(blockIndex).getTitle())){
|
|||
|
btnMore3.setVisibility(View.GONE);
|
|||
|
}else {
|
|||
|
btnMore3.setTag(mBlocks.get(blockIndex));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if(mBlocks.size()> blockIndex ) {
|
|||
|
ll4.setVisibility(View.VISIBLE);
|
|||
|
mFinishedData_l= mBlocks.get(blockIndex).getNs().subList(0,mBlocks.get(blockIndex).getOneself());
|
|||
|
mFinishedData_g = mBlocks.get(blockIndex).getNs().subList(mBlocks.get(blockIndex).getOneself(),mBlocks.get(blockIndex).getNs().size());
|
|||
|
tvBlock3.setText(mBlocks.get(blockIndex).getName());
|
|||
|
loadImageView(mBlocks.get(blockIndex).getIcon(),imageViewBlock3);
|
|||
|
|
|||
|
if(TextUtils.isEmpty(mBlocks.get(blockIndex).getTitle())){
|
|||
|
btnMore4.setVisibility(View.GONE);
|
|||
|
}else {
|
|||
|
btnMore4.setTag(mBlocks.get(blockIndex));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
testBanner(banner, this);
|
|||
|
initialBookList();
|
|||
|
initTuijianPagers();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
@Override
|
|||
|
public void initViews() {
|
|||
|
|
|||
|
gridItemSpace = getResources().getDimensionPixelSize(R.dimen._10dp)/2;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
@OnClick({R.id.buttonMore1, R.id.buttonMore2, R.id.buttonMoreTuijian, R.id.buttonMore3
|
|||
|
/* , R.id.buttonCatePingfen, R.id.buttonCateRegeng, R.id.buttonCateTuijian, R.id.buttonCateShoucang, R.id.buttonCateWanjie*/
|
|||
|
})
|
|||
|
void bubmitButton(View view) {
|
|||
|
|
|||
|
switch (view.getId()) {
|
|||
|
case R.id.buttonMore1:
|
|||
|
showPaihangbang(btnMore1.getTag());
|
|||
|
break;
|
|||
|
case R.id.buttonMoreTuijian:
|
|||
|
showPaihangbang("推荐");
|
|||
|
break;
|
|||
|
case R.id.buttonMore2:
|
|||
|
showPaihangbang(btnMore2.getTag());
|
|||
|
break;
|
|||
|
case R.id.buttonMore3:
|
|||
|
showPaihangbang(btnMore3.getTag());
|
|||
|
break;
|
|||
|
case R.id.buttonMore4:
|
|||
|
showPaihangbang(btnMore4.getTag());
|
|||
|
break;
|
|||
|
/* case R.id.buttonCatePingfen:
|
|||
|
showPaihangbang("评分");
|
|||
|
break;
|
|||
|
case R.id.buttonCateRegeng:
|
|||
|
showPaihangbang("最热");
|
|||
|
break;
|
|||
|
case R.id.buttonCateWanjie:
|
|||
|
showPaihangbang("完结");
|
|||
|
break;
|
|||
|
case R.id.buttonCateShoucang:
|
|||
|
showPaihangbang("收藏");
|
|||
|
break;
|
|||
|
case R.id.buttonCateTuijian:
|
|||
|
showPaihangbang("推荐");
|
|||
|
break;*/
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void testBanner(Banner banner, OnBannerListener listioner) {
|
|||
|
|
|||
|
//放图片地址的集合
|
|||
|
list_path = mBlocks.get(0).getPictures();//new ArrayList<String>();// mBlocks.get(0).getPictures() ;
|
|||
|
//放标题的集合
|
|||
|
list_title = new ArrayList<>();
|
|||
|
|
|||
|
for (Novel nv : mBlocks.get(0).getNs()) {
|
|||
|
list_title.add(nv.getName());
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/*
|
|||
|
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg");
|
|||
|
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg");
|
|||
|
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg");
|
|||
|
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg");
|
|||
|
list_title.add("好好学习");
|
|||
|
list_title.add("天天向上");
|
|||
|
list_title.add("热爱劳动");
|
|||
|
list_title.add("不搞对象");
|
|||
|
*/
|
|||
|
//设置内置样式,共有六种可以点入方法内逐一体验使用。
|
|||
|
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
|
|||
|
//设置图片加载器,图片加载器在下方
|
|||
|
banner.setImageLoader(ImageUtil.loader);
|
|||
|
//设置图片网址或地址的集合
|
|||
|
banner.setImages(list_path);
|
|||
|
//设置轮播的动画效果,内含多种特效,可点入方法内查找后内逐一体验
|
|||
|
banner.setBannerAnimation(Transformer.Default);
|
|||
|
//设置轮播图的标题集合
|
|||
|
banner.setBannerTitles(list_title);
|
|||
|
//设置轮播间隔时间
|
|||
|
banner.setDelayTime(3000);
|
|||
|
//设置是否为自动轮播,默认是“是”。
|
|||
|
banner.isAutoPlay(true);
|
|||
|
//设置指示器的位置,小点点,左中右。
|
|||
|
banner.setIndicatorGravity(BannerConfig.CENTER)
|
|||
|
//以上内容都可写成链式布局,这是轮播图的监听。比较重要。方法在下面。
|
|||
|
.setOnBannerListener(listioner)
|
|||
|
//必须最后调用的方法,启动轮播图。
|
|||
|
.start();
|
|||
|
|
|||
|
}
|
|||
|
//轮播图的监听方法
|
|||
|
|
|||
|
|
|||
|
@Override
|
|||
|
public void OnBannerClick(int position) {
|
|||
|
Novel nv = mBlocks.get(0).getNs().get(position);
|
|||
|
showBookDetail(nv);
|
|||
|
|
|||
|
// showShudanDetail(position);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//cycle viewpagers
|
|||
|
|
|||
|
//---------重磅推荐-------------
|
|||
|
|
|||
|
void initTuijianPagers() {
|
|||
|
|
|||
|
// mViewpagerTuijian =( MyViewPager) rootView.findViewById(R.id.viewpager_tuijian);
|
|||
|
// if (mFragments == null || mFragments.size() == 0) {
|
|||
|
// mTitle = new String[]{"精选", "榜单", "书单"};
|
|||
|
if(mBlocks==null ||mBlocks.size()<2){
|
|||
|
return;
|
|||
|
}
|
|||
|
if(mFragments==null) {
|
|||
|
mFragments = new ArrayList<>();
|
|||
|
}else{
|
|||
|
mFragments.clear();
|
|||
|
}
|
|||
|
|
|||
|
NovelBlock block = mBlocks.get(1);
|
|||
|
if(block==null ){
|
|||
|
return;
|
|||
|
}
|
|||
|
loadImageView(mBlocks.get(1).getIcon(),imageViewBlock0);
|
|||
|
tvBlock0.setText( mBlocks.get(1).getName());
|
|||
|
List<Novel> nvs = new ArrayList<Novel>();
|
|||
|
for(Novel novel : block.getNs() ){
|
|||
|
|
|||
|
if(nvs.size()<3){
|
|||
|
nvs.add(novel);
|
|||
|
}else {
|
|||
|
mFragments.add(Fragment_jingxuan_tuijian.newInstance(nvs));
|
|||
|
nvs = new ArrayList<Novel>();
|
|||
|
nvs.add(novel);
|
|||
|
}
|
|||
|
}
|
|||
|
if(nvs.size()>0){
|
|||
|
mFragments.add(Fragment_jingxuan_tuijian.newInstance(nvs));
|
|||
|
}
|
|||
|
|
|||
|
Log.d(TAG, "initial fragments in tabs ");
|
|||
|
// }
|
|||
|
|
|||
|
Log.d(TAG, "set viewPager adapter ");
|
|||
|
// FragmentPagerAdapter mAdapter = new FragmentPagerAdapter(activity.getSupportFragmentManager()) { 第一次进入没问题,再次进入ViewPager的fragment时里面内容就没了,数据丢失 https://blog.csdn.net/allan_bst/article/details/64920076
|
|||
|
FragmentStatePagerAdapter mAdapter = new FragmentStatePagerAdapter(getChildFragmentManager()) {
|
|||
|
@Override
|
|||
|
public Fragment getItem(int position) {
|
|||
|
return mFragments.get(position);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public int getCount() {
|
|||
|
return mFragments.size();
|
|||
|
}
|
|||
|
|
|||
|
//ViewPager与TabLayout绑定后,这里获取到PageTitle就是Tab的Text
|
|||
|
// @Override
|
|||
|
// public CharSequence getPageTitle(int position) {
|
|||
|
// return mTitle[position];
|
|||
|
// }
|
|||
|
};
|
|||
|
cyclell.removeAllViews();
|
|||
|
mViewpagerTuijian.removeAllViews();
|
|||
|
mViewpagerTuijian.setAdapter(mAdapter);
|
|||
|
mViewpagerTuijian.clearOnPageChangeListeners();
|
|||
|
// mViewpagerTuijian.setOnPageChangeListener(new CyclePageIndicator(getContext(), cyclell, mFragments.size()));
|
|||
|
mViewpagerTuijian.addOnPageChangeListener(new CyclePageIndicator(getContext(), cyclell, mFragments.size()));
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//---------------------------------------------------book cate list-------------------------------begin
|
|||
|
|
|||
|
// private BookListAdapter mAdapter;
|
|||
|
private List<Novel> mHotNewData_l, mHotNewData_g, mHotLianZaiData_l, mHotLianZaiData_g, mFinishedData_l, mFinishedData_g;
|
|||
|
|
|||
|
@BindView(R.id.rvHotNewL)
|
|||
|
RecyclerView rvHotNewL;
|
|||
|
@BindView(R.id.rvHotNewG)
|
|||
|
RecyclerView rvHotNewG;
|
|||
|
@BindView(R.id.rvLianZaiG)
|
|||
|
RecyclerView rvLianZaiG;
|
|||
|
@BindView(R.id.rvLianZaiL)
|
|||
|
RecyclerView rvLianZaiL;
|
|||
|
@BindView(R.id.rvFinishL)
|
|||
|
RecyclerView rvFinishL;
|
|||
|
@BindView(R.id.rvFinishG)
|
|||
|
RecyclerView rvFinishG;
|
|||
|
|
|||
|
int getSpanCnt(){
|
|||
|
return Constants.NOVEL_SPAN_CNT;
|
|||
|
}
|
|||
|
|
|||
|
void initialBookList() {
|
|||
|
|
|||
|
int gridItemsLayout =R.layout.recycle_list_item_large;
|
|||
|
int spanCnt =getSpanCnt();
|
|||
|
OnItemClickListener onItemClickListener = new OnItemClickListener() {
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemClick(View view, int position) {
|
|||
|
showBookDetail(mHotNewData_l.get(position));
|
|||
|
// openBook(mHotNewData_l.get(position),null);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemLongClick(View view, int position) {
|
|||
|
// initDialog(position);
|
|||
|
// mAdapter.removeData(position);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onLinearOutClick(View view, int position, int llId) {
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
};
|
|||
|
if(mHotNewData_l!=null) {
|
|||
|
rvHotNewL.setLayoutManager(new LinearLayoutManager(activity));
|
|||
|
rvHotNewL.setAdapter(new BookListAdapter(activity, mHotNewData_l, R.layout.recycle_list_item_horizon, onItemClickListener));
|
|||
|
}
|
|||
|
if(mHotNewData_g!=null) {
|
|||
|
rvHotNewG.setLayoutManager(new GridLayoutManager(activity, spanCnt));
|
|||
|
if( rvHotNewG.getItemDecorationCount()>0){
|
|||
|
rvHotNewG.removeItemDecorationAt(0);
|
|||
|
}
|
|||
|
rvHotNewG.addItemDecoration(new SpaceItemDecoration( gridItemSpace));
|
|||
|
rvHotNewG.setAdapter(new BookListAdapter(activity, mHotNewData_g,gridItemsLayout, new OnItemClickListener() {
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemClick(View view, int position) {
|
|||
|
showBookDetail(mHotNewData_g.get(position));
|
|||
|
|
|||
|
// openBook( mHotNewData_g.get(position) ,null);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemLongClick(View view, int position) {
|
|||
|
// initDialog(position);
|
|||
|
// mAdapter.removeData(position);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onLinearOutClick(View view, int position, int llId) {
|
|||
|
|
|||
|
}
|
|||
|
}));
|
|||
|
}
|
|||
|
if(rvLianZaiL!=null) {
|
|||
|
rvLianZaiL.setLayoutManager(new LinearLayoutManager(this.activity));
|
|||
|
|
|||
|
rvLianZaiL.setAdapter(new BookListAdapter(activity, mHotLianZaiData_l, R.layout.recycle_list_item_horizon, new OnItemClickListener() {
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemClick(View view, int position) {
|
|||
|
// Toast.makeText(activity, position + "grid click", Toast.LENGTH_SHORT).show();
|
|||
|
|
|||
|
|
|||
|
showBookDetail(mHotLianZaiData_l.get(position));
|
|||
|
// openBook( mHotLianZaiData_l.get(position) ,null);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemLongClick(View view, int position) {
|
|||
|
// initDialog(position);
|
|||
|
// mAdapter.removeData(position);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onLinearOutClick(View view, int position, int llId) {
|
|||
|
|
|||
|
}
|
|||
|
}));
|
|||
|
}
|
|||
|
if(mHotLianZaiData_g!=null) {
|
|||
|
rvLianZaiG.setLayoutManager(new GridLayoutManager(activity, spanCnt));
|
|||
|
if( rvLianZaiG.getItemDecorationCount()>0){
|
|||
|
rvLianZaiG.removeItemDecorationAt(0);
|
|||
|
}
|
|||
|
rvLianZaiG.addItemDecoration(new SpaceItemDecoration( gridItemSpace));
|
|||
|
rvLianZaiG.setAdapter(new BookListAdapter(activity, mHotLianZaiData_g, gridItemsLayout, new OnItemClickListener() {
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemClick(View view, int position) {
|
|||
|
// Toast.makeText(activity, position + "grid click", Toast.LENGTH_SHORT).show();
|
|||
|
|
|||
|
showBookDetail(mHotLianZaiData_g.get(position));
|
|||
|
|
|||
|
// openBook( mHotLianZaiData_g.get(position) ,null);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemLongClick(View view, int position) {
|
|||
|
// initDialog(position);
|
|||
|
// mAdapter.removeData(position);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onLinearOutClick(View view, int position, int llId) {
|
|||
|
|
|||
|
}
|
|||
|
}));
|
|||
|
}
|
|||
|
if(mFinishedData_l!=null) {
|
|||
|
rvFinishL.setLayoutManager(new LinearLayoutManager(this.activity));
|
|||
|
rvFinishL.setAdapter(new BookListAdapter(activity, mFinishedData_l, R.layout.recycle_list_item_horizon, new OnItemClickListener() {
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemClick(View view, int position) {
|
|||
|
// Toast.makeText(activity, position + "grid click", Toast.LENGTH_SHORT).show();
|
|||
|
|
|||
|
showBookDetail(mFinishedData_l.get(position));
|
|||
|
|
|||
|
// openBook( mFinishedData_l.get(position) ,null);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemLongClick(View view, int position) {
|
|||
|
// initDialog(position);
|
|||
|
// mAdapter.removeData(position);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onLinearOutClick(View view, int position, int llId) {
|
|||
|
|
|||
|
}
|
|||
|
}));
|
|||
|
}
|
|||
|
if(mFinishedData_g!=null) {
|
|||
|
rvFinishG.setLayoutManager(new GridLayoutManager(activity, spanCnt));
|
|||
|
if( rvFinishG.getItemDecorationCount()>0){
|
|||
|
rvFinishG.removeItemDecorationAt(0);
|
|||
|
}
|
|||
|
rvFinishG.addItemDecoration(new SpaceItemDecoration( gridItemSpace));
|
|||
|
rvFinishG.setAdapter(new BookListAdapter(activity, mFinishedData_g, gridItemsLayout, new OnItemClickListener() {
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemClick(View view, int position) {
|
|||
|
// Toast.makeText(activity, position + "grid click", Toast.LENGTH_SHORT).show();
|
|||
|
|
|||
|
showBookDetail(mFinishedData_g.get(position));
|
|||
|
|
|||
|
// openBook( mFinishedData_g.get(position) ,null);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onItemLongClick(View view, int position) {
|
|||
|
// initDialog(position);
|
|||
|
// mAdapter.removeData(position);
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void onLinearOutClick(View view, int position, int llId) {
|
|||
|
|
|||
|
}
|
|||
|
}));
|
|||
|
}
|
|||
|
}
|
|||
|
public class SpaceItemDecoration extends RecyclerView.ItemDecoration {
|
|||
|
|
|||
|
private int space;
|
|||
|
|
|||
|
public SpaceItemDecoration(int space) {
|
|||
|
this.space = space*2;
|
|||
|
}
|
|||
|
|
|||
|
@Override
|
|||
|
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
|
|||
|
//不是第一个的格子都设一个左边和底部的间距
|
|||
|
//outRect.left = space;
|
|||
|
// outRect.bottom = space;
|
|||
|
|
|||
|
//由于每行都只有3个,所以第一个都是3的倍数,把左边距设为0
|
|||
|
/* if (parent.getChildLayoutPosition(view) %getSpanCnt()==0) {
|
|||
|
Log.d(TAG, "getItemOffsets: left " +parent.getChildLayoutPosition(view));
|
|||
|
//outRect.set(0,0,0,0);
|
|||
|
outRect.right=space;
|
|||
|
outRect.left=0;
|
|||
|
}else if(parent.getChildLayoutPosition(view) %getSpanCnt()==2){
|
|||
|
Log.d(TAG, "getItemOffsets: right " +parent.getChildLayoutPosition(view));
|
|||
|
// outRect.set(0,0,0,0);
|
|||
|
outRect.right=0;
|
|||
|
outRect.left=space;
|
|||
|
}else {
|
|||
|
// outRect.set(space, 0, space, 0);
|
|||
|
// outRect.right=space;
|
|||
|
// outRect.left=space;
|
|||
|
Log.d(TAG, "getItemOffsets: center " +parent.getChildLayoutPosition(view));
|
|||
|
}*/
|
|||
|
// outRect.set(0,0,0,0);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
@Override
|
|||
|
public void onResume() {
|
|||
|
super.onResume();
|
|||
|
initTuijianPagers();
|
|||
|
MobclickAgent.onPageStart(TAG);
|
|||
|
}
|
|||
|
@Override
|
|||
|
public void onPause(){
|
|||
|
super.onPause();
|
|||
|
MobclickAgent.onPageEnd(TAG);
|
|||
|
}
|
|||
|
}
|