diff --git a/zhuike/src/main/java/com/novelbook/android/Activity_paihangbang.java b/zhuike/src/main/java/com/novelbook/android/Activity_paihangbang.java index 9fe70ea..ab9e632 100644 --- a/zhuike/src/main/java/com/novelbook/android/Activity_paihangbang.java +++ b/zhuike/src/main/java/com/novelbook/android/Activity_paihangbang.java @@ -26,7 +26,8 @@ public static String TAG ="com.novelbook.android.paihangbang"; ViewPager mViewpager; @BindView(R.id.tab_layout) SlidingTabLayout tabLayout; - + public static String EXTR_FN="fn"; + public static String EXTR_TITLE="title"; private ArrayList mFragments; ArrayList mList; String[] mTitle; @@ -51,7 +52,9 @@ public static String TAG ="com.novelbook.android.paihangbang"; } - String title = getIntent().getStringExtra("BANGNAME"); + String title = getIntent().getStringExtra(EXTR_TITLE); + String fn = getIntent().getStringExtra(EXTR_FN); + title+="榜"; this.setTitle(title); } @@ -69,7 +72,7 @@ public static String TAG ="com.novelbook.android.paihangbang"; if(mFragments ==null || mFragments.size() ==0){ mTitle = new String[]{"周榜", "月榜", "总榜"}; mFragments = new ArrayList<>(); - mFragments.add(new Fragment_booklist()); + mFragments.add( Fragment_booklist.newInstance("a",1)); //目的地不清楚 mFragments.add(new Fragment_booklist()); mFragments.add(new Fragment_booklist()); diff --git a/zhuike/src/main/java/com/novelbook/android/Fragments/BasicFragment.java b/zhuike/src/main/java/com/novelbook/android/Fragments/BasicFragment.java index 5cb72c7..5f524b6 100644 --- a/zhuike/src/main/java/com/novelbook/android/Fragments/BasicFragment.java +++ b/zhuike/src/main/java/com/novelbook/android/Fragments/BasicFragment.java @@ -38,6 +38,7 @@ import com.novelbook.android.BookActivity; import com.novelbook.android.R; import com.novelbook.android.ReadActivity; 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; @@ -291,10 +292,12 @@ public abstract class BasicFragment extends Fragment { //-------------------------------------------------------------------------------------book list adapter end-------------------------------------------------- - void showPaihangbang(String type) { //show paihangbang activity + void showPaihangbang(Object obj) { //show paihangbang activity + NovelBlock nb = (NovelBlock) obj; Intent intent = new Intent(activity, Activity_paihangbang.class); - intent.putExtra("BANGNAME",type); + intent.putExtra(Activity_paihangbang.EXTR_FN,nb.getFn() ); + intent.putExtra(Activity_paihangbang.EXTR_TITLE,nb.getTitle() ); startActivity(intent); } diff --git a/zhuike/src/main/java/com/novelbook/android/Fragments/Fragment_jingxuan.java b/zhuike/src/main/java/com/novelbook/android/Fragments/Fragment_jingxuan.java index 68e14f4..ec666c2 100644 --- a/zhuike/src/main/java/com/novelbook/android/Fragments/Fragment_jingxuan.java +++ b/zhuike/src/main/java/com/novelbook/android/Fragments/Fragment_jingxuan.java @@ -9,6 +9,7 @@ import android.support.v4.app.FragmentPagerAdapter; 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; @@ -90,7 +91,16 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener 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 mFragments; private ArrayList mList; @@ -100,6 +110,9 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener private List list_title; private FirstPage mFirstPage; + private int INDEX_BANNER =1; + private int INDEX_TUIJIAN =2; + private int blockIndex =3; //从第3个block 开始处理 public Fragment_jingxuan() { // Required empty public constructor @@ -205,31 +218,77 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener 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; } - if(mBlocks.size()>0) { + 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()-1); + 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)); + } - mHotNewData_l = mBlocks.get(0).getNs(); - tvBlock1.setText(mBlocks.get(0).getName()); - loadImageView(mBlocks.get(0).getIcon(),imageViewBlock1); - btnMore1.setTag(mBlocks.get(0).getName()); + blockIndex++; } // mHotNewData_g = initData(mHotNewData_g, 'D'); - if(mBlocks.size()>1) { - mHotLianZaiData_l = mBlocks.get(1).getNs();//initData(mHotLianZaiData_l, 'C'); - tvBlock2.setText(mBlocks.get(1).getName()); - loadImageView(mBlocks.get(1).getIcon(),imageViewBlock2); - btnMore2.setTag(mBlocks.get(1).getName()); + 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()-1); + 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()>2) { - mFinishedData_g = mBlocks.get(2).getNs();// initData(mFinishedData_g, 'G'); - tvBlock3.setText(mBlocks.get(2).getName()); - loadImageView(mBlocks.get(2).getIcon(),imageViewBlock3); - btnMore3.setTag(mBlocks.get(2).getName()); + 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()-1); + 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()-1); + 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(); @@ -256,16 +315,19 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener switch (view.getId()) { case R.id.buttonMore1: - showPaihangbang(btnMore1.getTag().toString()); + showPaihangbang(btnMore1.getTag()); break; case R.id.buttonMoreTuijian: showPaihangbang("推荐"); break; case R.id.buttonMore2: - showPaihangbang(btnMore2.getTag().toString()); + showPaihangbang(btnMore2.getTag()); break; case R.id.buttonMore3: - showPaihangbang(btnMore3.getTag().toString()); + showPaihangbang(btnMore3.getTag()); + break; + case R.id.buttonMore4: + showPaihangbang(btnMore4.getTag()); break; case R.id.buttonCatePingfen: showPaihangbang("评分"); @@ -353,8 +415,17 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener if (mFragments == null || mFragments.size() == 0) { // mTitle = new String[]{"精选", "榜单", "书单"}; mFragments = new ArrayList<>(); - for(NovelBlock block : mBlocks ){ - mFragments.add(Fragment_jingxuan_tuijian.newInstance(block.getNs())); + NovelBlock block = mBlocks.get(1); + List nvs = new ArrayList(); + for(Novel novel : block.getNs() ){ + + if(nvs.size()<3){ + nvs.add(novel); + }else { + mFragments.add(Fragment_jingxuan_tuijian.newInstance(nvs)); + nvs = new ArrayList(); + nvs.add(novel); + } } Log.d(TAG, "initial fragments in tabs "); @@ -405,6 +476,7 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener void initialBookList() { + int spanCnt =4; OnItemClickListener onItemClickListener = new OnItemClickListener() { @Override @@ -431,7 +503,7 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener rvHotNewL.setAdapter(new BookListAdapter(activity, mHotNewData_l, R.layout.recycle_list_item_horizon, onItemClickListener)); } if(mHotNewData_g!=null) { - rvHotNewG.setLayoutManager(new GridLayoutManager(activity, 3)); + rvHotNewG.setLayoutManager(new GridLayoutManager(activity, spanCnt)); rvHotNewG.setAdapter(new BookListAdapter(activity, mHotNewData_g, R.layout.recycle_list_item, new OnItemClickListener() { @@ -481,7 +553,7 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener })); } if(mHotLianZaiData_g!=null) { - rvLianZaiG.setLayoutManager(new GridLayoutManager(activity, 3)); + rvLianZaiG.setLayoutManager(new GridLayoutManager(activity, spanCnt)); rvLianZaiG.setAdapter(new BookListAdapter(activity, mHotLianZaiData_g, R.layout.recycle_list_item, new OnItemClickListener() { @@ -532,7 +604,7 @@ public class Fragment_jingxuan extends BasicFragment implements OnBannerListener })); } if(mFinishedData_g!=null) { - rvFinishG.setLayoutManager(new GridLayoutManager(activity, 3)); + rvFinishG.setLayoutManager(new GridLayoutManager(activity, spanCnt)); rvFinishG.setAdapter(new BookListAdapter(activity, mFinishedData_g, R.layout.recycle_list_item, new OnItemClickListener() { diff --git a/zhuike/src/main/java/com/novelbook/android/activity_cates.java b/zhuike/src/main/java/com/novelbook/android/activity_cates.java index 6e402e2..00e38ae 100644 --- a/zhuike/src/main/java/com/novelbook/android/activity_cates.java +++ b/zhuike/src/main/java/com/novelbook/android/activity_cates.java @@ -86,7 +86,7 @@ public class activity_cates extends Activity_base { private void fillData() { List cates = new ArrayList<>(); for(Cataloge cate:mCataloges){ - if(cate.getNovelCount()>0){ + if(cate!=null && cate.getNovelCount()>0){ cates.add(cate); } } diff --git a/zhuike/src/main/java/com/novelbook/android/bean/NovelBlock.java b/zhuike/src/main/java/com/novelbook/android/bean/NovelBlock.java index 47808f5..0d819fc 100644 --- a/zhuike/src/main/java/com/novelbook/android/bean/NovelBlock.java +++ b/zhuike/src/main/java/com/novelbook/android/bean/NovelBlock.java @@ -5,11 +5,39 @@ import com.novelbook.android.db.Novel; import java.util.List; public class NovelBlock{ - private String name; + private String fn; + private String title; + private int oneself; + //private int displayModel; + private String name; private String icon; private List pictures; private List ns; + public String getFn() { + return fn; + } + + public void setFn(String fn) { + this.fn = fn; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public int getOneself() { + return oneself; + } + + public void setOneself(int oneself) { + this.oneself = oneself; + } + public String getName() { return name; } diff --git a/zhuike/src/main/res/layout/fragment_jingxuan.xml b/zhuike/src/main/res/layout/fragment_jingxuan.xml index 61ca6e5..2eba8a6 100644 --- a/zhuike/src/main/res/layout/fragment_jingxuan.xml +++ b/zhuike/src/main/res/layout/fragment_jingxuan.xml @@ -24,8 +24,9 @@ + android:paddingBottom="30dp" + android:orientation="vertical"> + + + android:src="@drawable/googleg_standard_color_18" /> +