Преглед изворни кода

修改学生端首页menu和老师端menu adater刷新逻辑

Pq пре 2 година
родитељ
комит
67db09937c

+ 2 - 0
BaseLibrary/src/main/java/com/cooleshow/base/common/WebConstants.java

@@ -135,6 +135,8 @@ public abstract class WebConstants {
     public static final String TRADE_RECORD_PAGE = getBaseUrlH5() + "/#/rechargeRecord";
     //老师端推广计划
     public static final String PROMOTE_PLAN_PAGE = getBaseUrlH5() + "/#/extendPlan";
+    //搜索
+    public static final String SEARCH_PAGE = getBaseUrlH5() + "/#/music-songbook/search";
 
 
 }

+ 10 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/helper/WebStartHelper.java

@@ -120,4 +120,14 @@ public class WebStartHelper {
                 .withString(WebConstants.WEB_URL, WebConstants.HOT_MUSIC_SHEET_LIST)
                 .navigation();
     }
+
+    /**
+     * 打开隐私协议页面
+     */
+    public static void startSearch(){
+        ARouter.getInstance()
+                .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                .withString(WebConstants.WEB_URL, WebConstants.SEARCH_PAGE)
+                .navigation();
+    }
 }

+ 15 - 8
student/src/main/java/com/cooleshow/student/adapter/HomeMenuPagerAdapter.java

@@ -2,10 +2,12 @@ package com.cooleshow.student.adapter;
 
 import android.view.ViewGroup;
 
+import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentPagerAdapter;
 import androidx.fragment.app.FragmentStatePagerAdapter;
+import androidx.viewpager.widget.PagerAdapter;
 
 import java.util.List;
 
@@ -34,22 +36,27 @@ public class HomeMenuPagerAdapter extends FragmentStatePagerAdapter {
     }
 
     @Override
+    public int getItemPosition(@NonNull Object object) {
+        return PagerAdapter.POSITION_NONE;
+    }
+
+    @Override
     public int getCount() {
         return fragments == null ? 0 : fragments.size();
     }
 
+    public void setFragments(List<Fragment> fragments) {
+        this.fragments = fragments;
+    }
+
+    @NonNull
     @Override
-    public Fragment instantiateItem(ViewGroup container, int position) {
-        Fragment fragment = (Fragment) super.instantiateItem(container,
-                position);
-        fm.beginTransaction().show(fragment).commitAllowingStateLoss();
-        return fragment;
+    public Object instantiateItem(@NonNull ViewGroup container, int position) {
+        return super.instantiateItem(container, position);
     }
 
     @Override
     public void destroyItem(ViewGroup container, int position, Object object) {
-        // super.destroyItem(container, position, object);
-        Fragment fragment = fragments.get(position);
-        fm.beginTransaction().hide(fragment).commit();
+         super.destroyItem(container, position, object);
     }
 }

+ 0 - 11
student/src/main/java/com/cooleshow/student/presenter/main/HomePresenter.java

@@ -62,17 +62,6 @@ public class HomePresenter extends BasePresenter<HomeContract.HomeView> implemen
                 }
             }
 
-            @Override
-            public void onComplete() {
-                super.onComplete();
-                getView().hideLoading();
-            }
-
-            @Override
-            public void onError(Throwable e) {
-                super.onError(e);
-
-            }
         });
     }
 

+ 10 - 4
student/src/main/java/com/cooleshow/student/ui/main/NewHomeFragment.java

@@ -127,6 +127,7 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
         mViewBinding.tvVideoCourseMore.setOnClickListener(this);
         mViewBinding.viewTalentStyleClick.setOnClickListener(this);
         mViewBinding.viewHotNewsClick.setOnClickListener(this);
+        mViewBinding.viewSearchBg.setOnClickListener(this);
     }
 
     @Override
@@ -183,7 +184,7 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
         mViewBinding.viewPagerBottom.setOffscreenPageLimit(bottomFragments.size());
         mViewBinding.viewPagerBottom.setAdapter(homeBottomPageAdapter);
 
-        mMenuPagerAdapter = new HomeMenuPagerAdapter(getParentFragmentManager(), fragments);
+        mMenuPagerAdapter = new HomeMenuPagerAdapter(getChildFragmentManager(), fragments);
         mViewBinding.viewpagerMenu.setAdapter(mMenuPagerAdapter);
         mBannerImageAdapter = new BannerImageAdapter<AppHomeBean.ItemBean>(itemBeans) {
             @Override
@@ -248,6 +249,7 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
             presenter.userAccountPage();
             presenter.getHotMusicSheetList();
             presenter.getTalentStyle();
+            presenter.getRecommendTalentList();
         });
 
         mHomeVideoCourseAdapter.setOnItemClickListener((adapter, view, position) -> {
@@ -413,7 +415,6 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
         if (menuList.size() % 5 > 0) {
             count++;
         }
-
         for (int i = 0; i < count; i++) {
             List<AppHomeBean.ItemBean> dataList = new ArrayList<>();
             for (int j = i * 5; j < menuList.size() && j < (i + 1) * 5; j++) {
@@ -425,7 +426,7 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
             mViewBinding.viewpagerMenu.setVisibility(View.GONE);
             return;
         }
-
+        mMenuPagerAdapter.setFragments(fragments);
         mViewBinding.viewpagerMenu.setVisibility(View.VISIBLE);
         mMenuPagerAdapter.notifyDataSetChanged();
     }
@@ -612,6 +613,12 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
     @Override
     public void onClick(View v) {
         int id = v.getId();
+
+        if (id == R.id.view_search_bg) {
+            //搜索
+            WebStartHelper.startSearch();
+            return;
+        }
         if (id == R.id.iv_scan) {
             if (UiUtils.isFastClick()) {
                 return;
@@ -726,7 +733,6 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
     }
 
 
-
     private void handleTabAnim(int animationMode) {
         int colorFrom = getResources().getColor(animationMode == 0 ? com.cooleshow.base.R.color.white : com.cooleshow.base.R.color.color_f6f8f9);
         int colorTo = getResources().getColor(animationMode == 0 ? com.cooleshow.base.R.color.color_f6f8f9 : com.cooleshow.base.R.color.white);

+ 5 - 1
teacher/src/main/java/com/cooleshow/teacher/adapter/HomeMenuPageAdapter.java

@@ -7,6 +7,7 @@ import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentStatePagerAdapter;
+import androidx.viewpager.widget.PagerAdapter;
 import androidx.viewpager2.adapter.FragmentStateAdapter;
 
 /**
@@ -24,7 +25,10 @@ public class HomeMenuPageAdapter extends FragmentStatePagerAdapter {
         this.mFragments = fragments;
     }
 
-
+    @Override
+    public int getItemPosition(@NonNull Object object) {
+        return PagerAdapter.POSITION_NONE;
+    }
 
     @NonNull
     @Override