From b6816d039a98895f5edec72092ea16b0c0129719 Mon Sep 17 00:00:00 2001 From: yilehahaha <3289160168@qq.com> Date: Thu, 22 Aug 2024 19:17:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=9B=E5=85=A5APP?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=90=8E=EF=BC=8C=E6=96=AD=E7=BD=91=E5=90=8E?= =?UTF-8?q?=E5=88=B7=E6=96=B0=EF=BC=8C=E5=AF=BC=E8=87=B4=E7=9A=84APP?= =?UTF-8?q?=E9=97=AA=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mod_main/src/main/java/com/sum/main/ui/home/HomeFragment.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mod_main/src/main/java/com/sum/main/ui/home/HomeFragment.kt b/mod_main/src/main/java/com/sum/main/ui/home/HomeFragment.kt index 8d3517d..7fbe42a 100644 --- a/mod_main/src/main/java/com/sum/main/ui/home/HomeFragment.kt +++ b/mod_main/src/main/java/com/sum/main/ui/home/HomeFragment.kt @@ -124,7 +124,9 @@ class HomeFragment : BaseMvvmFragment(), OnR it.viewPager.offscreenPageLimit = mArrayTabFragments.size() mTabLayoutMediator = TabLayoutMediator(it.tabHome, it.viewPager) { tab: TabLayout.Tab, position: Int -> - tab.text = mProjectTabs[position].name + if(position < mProjectTabs.size){//需进行判断,否则断网刷新后APP会闪退(索引越界异常) + tab.text = mProjectTabs[position].name + } } //tabLayout和viewPager2关联起来 mTabLayoutMediator?.attach() From fe3255f3f34bd697103fa172050a4d56bf5c3c64 Mon Sep 17 00:00:00 2001 From: yilehahaha <3289160168@qq.com> Date: Fri, 23 Aug 2024 18:15:47 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=E4=BF=AE=E5=A4=8D=E7=9F=AD=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E9=A1=B5=E9=9D=A2=EF=BC=8C=E7=82=B9=E5=87=BB=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E6=9D=A1=E7=9B=AE=E5=A7=8B=E7=BB=88=E8=B7=B3=E8=BD=AC?= =?UTF-8?q?=E5=88=B0=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/sum/common/constant/IntentKey.kt | 2 ++ .../java/com/sum/main/ui/home/HomeVideoFragment.kt | 2 ++ .../src/main/java/com/sum/video/VideoPlayActivity.kt | 11 ++++++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib_common/src/main/java/com/sum/common/constant/IntentKey.kt b/lib_common/src/main/java/com/sum/common/constant/IntentKey.kt index 1172435..3ec5a8c 100644 --- a/lib_common/src/main/java/com/sum/common/constant/IntentKey.kt +++ b/lib_common/src/main/java/com/sum/common/constant/IntentKey.kt @@ -15,3 +15,5 @@ const val KEY_URL = "url" const val KEY_TITLE = "title" const val KEY_POSITION = "position" const val KEY_VIDEO_PLAY_LIST = "video_play_list" +const val KEY_VIDEO_POSITION = "video_position" + diff --git a/mod_main/src/main/java/com/sum/main/ui/home/HomeVideoFragment.kt b/mod_main/src/main/java/com/sum/main/ui/home/HomeVideoFragment.kt index 3bb1611..6463776 100644 --- a/mod_main/src/main/java/com/sum/main/ui/home/HomeVideoFragment.kt +++ b/mod_main/src/main/java/com/sum/main/ui/home/HomeVideoFragment.kt @@ -6,6 +6,7 @@ import android.view.View import androidx.recyclerview.widget.StaggeredGridLayoutManager import com.alibaba.android.arouter.launcher.ARouter import com.sum.common.constant.KEY_VIDEO_PLAY_LIST +import com.sum.common.constant.KEY_VIDEO_POSITION import com.sum.common.constant.VIDEO_ACTIVITY_PLAYER import com.sum.framework.decoration.StaggeredItemDecoration import com.sum.framework.base.BaseMvvmFragment @@ -47,6 +48,7 @@ class HomeVideoFragment : BaseMvvmFragment) + .withInt(KEY_VIDEO_POSITION, position)//将当前点击的条目位置传递过去 .navigation() } else { TipsToast.showTips(com.sum.common.R.string.default_agree_permission) diff --git a/mod_video/src/main/java/com/sum/video/VideoPlayActivity.kt b/mod_video/src/main/java/com/sum/video/VideoPlayActivity.kt index 3fd06e4..32a49fe 100644 --- a/mod_video/src/main/java/com/sum/video/VideoPlayActivity.kt +++ b/mod_video/src/main/java/com/sum/video/VideoPlayActivity.kt @@ -30,6 +30,7 @@ import com.google.android.exoplayer2.upstream.cache.CacheDataSource import com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor import com.google.android.exoplayer2.upstream.cache.SimpleCache import com.sum.common.constant.KEY_VIDEO_PLAY_LIST +import com.sum.common.constant.KEY_VIDEO_POSITION import com.sum.common.constant.VIDEO_ACTIVITY_PLAYER import com.sum.framework.base.BaseDataBindActivity import com.sum.framework.ext.gone @@ -88,6 +89,11 @@ class VideoPlayActivity : BaseDataBindActivity() { @JvmField var mData: ArrayList? = null + //通过注解自动注入跳转传递的数据,当前点击的视频条目 + @Autowired(name = KEY_VIDEO_POSITION) + @JvmField + var mCurrentPosition :Int = 0 + override fun initView(savedInstanceState: Bundle?) { ARouter.getInstance().inject(this) StatusBarSettingHelper.setStatusBarTranslucent(this) @@ -121,6 +127,8 @@ class VideoPlayActivity : BaseDataBindActivity() { mBinding.ivVideoPause.gone() } } + //初始化将短视频列表滑动到点击的条目 + mBinding.recyclerView.scrollToPosition(mCurrentPosition) } override fun onStart() { @@ -242,7 +250,8 @@ class VideoPlayActivity : BaseDataBindActivity() { */ private val onScrollPagerListener = object : OnViewPagerListener { override fun onInitComplete(view: View?) { - startPlay(0, view) + //startPlay(0, view) + startPlay(mCurrentPosition, view)//条目的点击事件是从HomeVideoFragment传递过来的 } override fun onPageRelease(isNext: Boolean, position: Int, view: View?) {