From e68b7d2ce606f271bb07e323be8d65e6d183dea5 Mon Sep 17 00:00:00 2001 From: itgaojian Date: Fri, 24 Feb 2023 18:41:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activitys/news/NewsListActivity.java | 27 +--- .../activitys/news/NewsMainActivity.java | 9 ++ .../cultural/fragment/HomeFragment.java | 130 ++---------------- .../cultural/fragment/NewsFragment.java | 19 +-- .../mudulemain/cultural/net/HomeApi.java | 8 +- 5 files changed, 43 insertions(+), 150 deletions(-) diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsListActivity.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsListActivity.java index f76fc52..81aaf93 100755 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsListActivity.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsListActivity.java @@ -1,17 +1,14 @@ package com.tengshisoft.mudulemain.cultural.activitys.news; import android.graphics.Color; -import android.os.Bundle; import android.text.TextUtils; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; -import com.google.android.material.tabs.TabLayout; -import com.google.android.material.tabs.TabLayoutMediator; import com.scwang.smartrefresh.layout.SmartRefreshLayout; -import com.scwang.smartrefresh.layout.api.RefreshLayout; -import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener; -import com.scwang.smartrefresh.layout.listener.OnRefreshListener; import com.sucstepsoft.cm_utils.constant.PathConfig; import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi; import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; @@ -22,25 +19,13 @@ import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.tengshisoft.mudulemain.R; import com.tengshisoft.mudulemain.R2; import com.tengshisoft.mudulemain.cultural.adapter.NewsAdapter; -import com.tengshisoft.mudulemain.cultural.adapter.NewsMenuAdapter; import com.tengshisoft.mudulemain.cultural.beans.NewsCommentCount; import com.tengshisoft.mudulemain.cultural.beans.NewsItemBean; -import com.tengshisoft.mudulemain.cultural.beans.NewsTabBean; -import com.tengshisoft.mudulemain.cultural.fragment.HomeFragment; -import com.tengshisoft.mudulemain.cultural.fragment.NewsFragment; import com.tengshisoft.mudulemain.cultural.net.HomeApi; import java.util.ArrayList; import java.util.List; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentActivity; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.viewpager2.adapter.FragmentStateAdapter; -import androidx.viewpager2.widget.ViewPager2; -import butterknife.BindInt; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; @@ -62,6 +47,7 @@ public class NewsListActivity extends BaseActivity { private int mTotalPage = 0; private int mCurrentPage = 1; private String mType; + private String mPId; @Override protected int setLayoutId() { @@ -72,6 +58,7 @@ public class NewsListActivity extends BaseActivity { public void initData() { mBind = ButterKnife.bind(this); mType = getIntent().getStringExtra("id"); + mPId = getIntent().getStringExtra("pId"); String title = getIntent().getStringExtra("title"); mTvBaseTitle.setText(title); mAdapter = new NewsAdapter(mActivity, mNewsDatas); @@ -113,7 +100,7 @@ public class NewsListActivity extends BaseActivity { private void getNewsListByType(int page) { RetrofitManager.getInstance() .create(HomeApi.class) - .getNewsList(mType, page + "") + .getNewsList("", mPId,page + "") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -293,7 +280,7 @@ public class NewsListActivity extends BaseActivity { private void getNewsListByTypeToken(int page) { RetrofitManager.getInstance() .create(HomeApi.class) - .getNewsListByToken(mType, page + "", UserLgUtils.getToken()) + .getNewsListByToken("", mPId, page + "", UserLgUtils.getToken()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsMainActivity.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsMainActivity.java index 2186b5a..9f50333 100755 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsMainActivity.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/activitys/news/NewsMainActivity.java @@ -48,6 +48,7 @@ public class NewsMainActivity extends BaseActivity { private Disposable mDisposable; private String mId; private String mTitle; + private String mPId; @Override @@ -55,6 +56,7 @@ public class NewsMainActivity extends BaseActivity { mBind = ButterKnife.bind(this); mTitle = getIntent().getStringExtra("title"); mId = getIntent().getStringExtra("id"); + mPId = getIntent().getStringExtra("pId"); refreshView(STATE_LOAD_LOADING); mTvBaseTitle.setText(mTitle); getNewsTabs(); @@ -79,10 +81,17 @@ public class NewsMainActivity extends BaseActivity { public void onNext(List newsTabBeans) { if (mFragments != null) { if (newsTabBeans != null && newsTabBeans.size() > 0) { + NewsTabBean allBean = new NewsTabBean(); + allBean.setDirectoriesName("全部"); + allBean.setNewsDirectoriesId(""); + allBean.setDirectoriesParentId(mPId); + allBean.setDirectoriesView("2"); + newsTabBeans.add(0, allBean); mTabs = newsTabBeans; for (int i = 0; i < newsTabBeans.size(); i++) { Bundle bundle = new Bundle(); bundle.putString("type", newsTabBeans.get(i).getNewsDirectoriesId()); + bundle.putString("pId", ""); BaseFragment fragment = null; //0 外部链接 1存在子集 2没有子集 if ("0".equals(newsTabBeans.get(i).getDirectoriesView())) { diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java index cf9fd26..35b5684 100755 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/HomeFragment.java @@ -115,6 +115,7 @@ public class HomeFragment extends BaseFragment { private LiveAdapter mLiveAdapter; private BannerImageTextAdapter mBannerImageAdapter; private List mMainCommendBeans = new ArrayList<>(); + @Override protected void setDataToView(View dataView) { mBind = ButterKnife.bind(this, dataView); @@ -248,7 +249,13 @@ public class HomeFragment extends BaseFragment { @Override public void onNext(List newsTabBeans) { - createNewsContent(newsTabBeans); + if (newsTabBeans.size() > 0) { + createNewsContent(newsTabBeans); + } else { + if (mNewsSkeleton != null) { + mNewsSkeleton.hide(); + } + } } @Override @@ -486,7 +493,7 @@ public class HomeFragment extends BaseFragment { private void getBannerData() { RetrofitManager.getInstance() .create(HomeApi.class) - .getMainNewsList(PathConfig.NEWS_BANNER_ID, "5", "1") + .getMainNewsList(PathConfig.NEWS_BANNER_ID, "", "5", "1") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -553,118 +560,13 @@ public class HomeFragment extends BaseFragment { } - - -// /** -// * 获取新闻类型 -// */ -// private void getNewsTabs() { -// RetrofitManager.getInstance() -// .create(HomeApi.class) -// .getNewsTabListByPid(PathConfig.NEWS_ID) -// .subscribeOn(Schedulers.io()) -// .observeOn(AndroidSchedulers.mainThread()) -// .subscribe(new Observer>() { -// @Override -// public void onSubscribe(Disposable d) { -// } -// -// @Override -// public void onNext(List newsTabBeans) { -// if (newsTabBeans != null && newsTabBeans.size() > 0) { -// mIvNewsEmpty.setVisibility(View.GONE); -// Random random = new Random(); -// int i = random.nextInt(newsTabBeans.size()); -// if (TextUtils.isEmpty(UserLgUtils.getToken())) { -// -// } else { -// getNewsListByToken(newsTabBeans.get(i)); -// } -// -// } else { -// if (mNewsSkeleton != null) { -// mNewsSkeleton.hide(); -// } -// mIvNewsEmpty.setVisibility(View.VISIBLE); -// } -// } -// -// @Override -// public void onError(Throwable e) { -// if (mNewsSkeleton != null) { -// mNewsSkeleton.hide(); -// } -// mIvNewsEmpty.setVisibility(View.VISIBLE); -// } -// -// @Override -// public void onComplete() { -// -// } -// }); -// } - -// private void getNewsListByToken(NewsTabBean newsTabBean) { -// RetrofitManager.getInstance() -// .create(HomeApi.class) -// .getNewsMainListByToken(newsTabBean.getNewsDirectoriesId(), "5", "1", UserLgUtils.getToken()) -// .subscribeOn(Schedulers.io()) -// .observeOn(AndroidSchedulers.mainThread()) -// .subscribe(new Observer() { -// @Override -// public void onSubscribe(Disposable d) { -// -// } -// -// @Override -// public void onNext(NewsItemBean newsItemBean) { -// if (newsItemBean != null) { -// if (newsItemBean.getRows() != null) { -// if (newsItemBean.getRows().size() > 5) { -// mNewsBeans = newsItemBean.getRows().subList(0, 5); -// } else { -// mNewsBeans = newsItemBean.getRows(); -// } -// if (newsItemBean.getRows().size() > 0) { -// mIvNewsEmpty.setVisibility(View.GONE); -// } else { -// mIvNewsEmpty.setVisibility(View.VISIBLE); -// } -// } else { -// mIvNewsEmpty.setVisibility(View.VISIBLE); -// } -// getCommentCount(1, newsItemBean); -//// TODO mMAdapter.setData(mNewsBeans); -// } else { -// mIvNewsEmpty.setVisibility(View.VISIBLE); -// } -// if (mNewsSkeleton != null) { -// mNewsSkeleton.hide(); -// } -// } -// -// @Override -// public void onError(Throwable e) { -// if (mNewsSkeleton != null) { -// mNewsSkeleton.hide(); -// } -// mIvNewsEmpty.setVisibility(View.VISIBLE); -// } -// -// @Override -// public void onComplete() { -// -// } -// }); -// } - /** * 获取新闻 */ private void getNewsList(NewsTabBean newsTabBean, BaseRecyclerAdapter adapter, RecyclerView rlvContent, CustomStateView stateView) { RetrofitManager.getInstance() .create(HomeApi.class) - .getNewsTabListByPid(newsTabBean.getNewsDirectoriesId(), "5", "1") + .getNewsTabListByPid(newsTabBean.getNewsDirectoriesId(), "", "5", "1") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -796,15 +698,7 @@ public class HomeFragment extends BaseFragment { // tourBean.setIconRes(R.drawable.ic_place_icon); // tourBean.setTitle("文化旅游"); -// mFuncBeans.add(showBean); -// mFuncBeans.add(culBean); -// mFuncBeans.add(cultivlateBean); -// mFuncBeans.add(tourBean); -// mFuncBeans.add(bookBean); if (list != null && list.size() > 0) { -// for (int i = 0; i < list.size(); i++) { -// list.get(i).setLocalRes(-1); -// } mFuncBeans.addAll(list); } NewsTabBean activityBean = new NewsTabBean(); @@ -823,7 +717,6 @@ public class HomeFragment extends BaseFragment { mFuncBeans.add(activityBean); mFuncBeans.add(placeBean); mFuncBeans.add(culturalBean); -// mFuncBeans.add(movieBean); MainFuncAdapter funcAdapter = new MainFuncAdapter(getActivity(), mFuncBeans); LinearLayoutManager manager = new LinearLayoutManager(mActivity, LinearLayoutManager.HORIZONTAL, false); @@ -883,6 +776,7 @@ public class HomeFragment extends BaseFragment { //列表 ARouter.getInstance().build(PathConfig.PATH_MODULE_MAIN_NEWS_LIST) .withString("id", mainFuncBean.getNewsDirectoriesId()) + .withString("pId", mainFuncBean.getNewsDirectoriesId()) .withString("title", mainFuncBean.getDirectoriesName()) .navigation(); } else if ("0".equals(mainFuncBean.getDirectoriesView())) { @@ -894,6 +788,7 @@ public class HomeFragment extends BaseFragment { } else { ARouter.getInstance().build(PathConfig.PATH_MODULE_MAIN_NEWS_MAIN) .withString("title", mainFuncBean.getDirectoriesName()) + .withString("pId", mainFuncBean.getDirectoriesParentId()) .withString("id", mainFuncBean.getNewsDirectoriesId()) .navigation(); } @@ -965,6 +860,7 @@ public class HomeFragment extends BaseFragment { titleLayout.setOnClickListener(v -> ARouter.getInstance() .build(PathConfig.PATH_MODULE_MAIN_NEWS_LIST) .withString("id", b.getNewsDirectoriesId()) + .withString("pId", b.getNewsDirectoriesId()) .withString("title", b.getDirectoriesName()) .navigation()); //分割线 diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/NewsFragment.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/NewsFragment.java index 7e76bd6..5a4f934 100755 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/NewsFragment.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/fragment/NewsFragment.java @@ -4,17 +4,19 @@ import android.graphics.Color; import android.text.TextUtils; import android.view.View; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.alibaba.android.arouter.launcher.ARouter; import com.ethanhua.skeleton.RecyclerViewSkeletonScreen; import com.ethanhua.skeleton.Skeleton; -import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.sucstepsoft.cm_utils.constant.PathConfig; import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi; import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment; import com.sucstepsoft.cm_utils.core.widget.views.ItemSplitDivider; import com.sucstepsoft.cm_utils.utils.ExceptionHandler; -import com.sucstepsoft.cm_utils.utils.LogUtils; import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.tengshisoft.mudulemain.R; import com.tengshisoft.mudulemain.R2; @@ -25,13 +27,9 @@ import com.tengshisoft.mudulemain.cultural.beans.NewsItemBean; import com.tengshisoft.mudulemain.cultural.beans.NewsTabBean; import com.tengshisoft.mudulemain.cultural.net.HomeApi; -import java.security.MessageDigest; import java.util.ArrayList; import java.util.List; -import androidx.recyclerview.widget.GridLayoutManager; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; @@ -61,7 +59,8 @@ public class NewsFragment extends BaseFragment { private NewsAdapter mAdapter; private int mTotalPage = 0; private int mCurrentPage = 1; - private String mType; + private String mType;//newsID + private String mPId;//newsPid private RecyclerViewSkeletonScreen mNewsSkeleton; private Disposable mD1; private Disposable mD2; @@ -73,6 +72,7 @@ public class NewsFragment extends BaseFragment { setStateView(STATE_SUCCESS); mAdapter = new NewsAdapter(mActivity, mNewsDatas); mType = getArguments().getString("type"); + mPId = getArguments().getString("pId"); mCurrentPage = 1; mTotalPage = 0; mNewsDatas.clear(); @@ -104,6 +104,7 @@ public class NewsFragment extends BaseFragment { ARouter.getInstance() .build(PathConfig.PATH_MODULE_MAIN_NEWS_LIST) .withString("id", newsTabBean.getNewsDirectoriesId()) + .withString("pId", newsTabBean.getNewsDirectoriesId()) .withString("title", newsTabBean.getDirectoriesName()) .navigation(); } @@ -152,7 +153,7 @@ public class NewsFragment extends BaseFragment { private void getNewsListByTypeToken(int page) { RetrofitManager.getInstance() .create(HomeApi.class) - .getNewsListByToken(mType, page + "", UserLgUtils.getToken()) + .getNewsListByToken(mType, "", page + "", UserLgUtils.getToken()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -260,7 +261,7 @@ public class NewsFragment extends BaseFragment { private void getNewsListByType(int page) { RetrofitManager.getInstance() .create(HomeApi.class) - .getNewsList(mType, page + "") + .getNewsList(mType, "",page + "") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { diff --git a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/net/HomeApi.java b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/net/HomeApi.java index b07e1a5..71f46a2 100755 --- a/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/net/HomeApi.java +++ b/modulemain/src/main/java/com/tengshisoft/mudulemain/cultural/net/HomeApi.java @@ -136,7 +136,7 @@ public interface HomeApi { */ @Headers({"base_url_name:news", "Content-Type:application/json", "Accept:application/json", "need_area:true"}) @GET("app/newscontent/listpagenewscontentrelease") - Observable getNewsTabListByPid(@Query("newsDirectoriesId") String pid, @Query("rows") String rows, @Query("page") String page); + Observable getNewsTabListByPid(@Query("newsDirectoriesId") String pid, @Query("newsDirectoriesParentId") String pId, @Query("rows") String rows, @Query("page") String page); // Observable getNewsTabListByPid(@Query("newsDirectoriesParentId") String pid, @Query("rows") String rows, @Query("page") String page); /** @@ -144,7 +144,7 @@ public interface HomeApi { */ @Headers({"base_url_name:news", "Content-Type:application/json", "Accept:application/json", "need_area:true"}) @GET("app/newscontent/listpagenewscontentrelease") - Observable getNewsList(@Query("newsDirectoriesId") String newsDirectoriesId, @Query("page") String page); + Observable getNewsList(@Query("newsDirectoriesId") String newsDirectoriesId,@Query("newsDirectoriesParentId")String pId, @Query("page") String page); /** * 获取新闻评论数量,多个新闻ID用下划线隔开(id_id_id) @@ -158,14 +158,14 @@ public interface HomeApi { */ @Headers({"base_url_name:news", "Content-Type:application/json", "Accept:application/json", "need_area:true"}) @GET("app/newscontent/listpagenewscontentrelease") - Observable getMainNewsList(@Query("newsDirectoriesId") String newsDirectoriesId, @Query("rows") String rows, @Query("page") String page); + Observable getMainNewsList(@Query("newsDirectoriesId") String newsDirectoriesId, @Query("newsDirectoriesParentId")String pId,@Query("rows") String rows, @Query("page") String page); /** * 获取新闻列表-需要token */ @Headers({"base_url_name:news", "Content-Type:application/json", "Accept:application/json", "need_area:true"}) @GET("app/newscontent/listpagenewscontent") - Observable getNewsListByToken(@Query("newsDirectoriesId") String newsDirectoriesId, @Query("page") String page, @Header("token") String token); + Observable getNewsListByToken(@Query("newsDirectoriesId") String newsDirectoriesId, @Query("newsDirectoriesParentId")String pId,@Query("page") String page, @Header("token") String token); /** * 获取新闻列表-需要token