[fea]
[音乐默认选中第一个不播放]
This commit is contained in:
yangyakun
2025-05-15 14:39:00 +08:00
parent 096ed0b986
commit 93a805bc83
2 changed files with 13 additions and 4 deletions

View File

@@ -119,7 +119,7 @@ object MusicModel : CallerBase<MusicModel.MusicDataListener>(), OrderListener, I
* 1、更新选中状态
* 2、如果正在播放 需要开始播放选中音乐
*/
fun checkMusic(musicData: MusicData){
fun checkMusic(musicData: MusicData,startPlay:Boolean = true){
AuditionManager.musicList.forEach {
// 上一个选中歌曲
if (it.select==true) {
@@ -136,7 +136,9 @@ object MusicModel : CallerBase<MusicModel.MusicDataListener>(), OrderListener, I
}
}
notifySelectChange(musicData)
AuditionManager.play(musicData)
if(startPlay) {
AuditionManager.play(musicData)
}
}
private fun notifySelectChange(musicData: MusicData) {

View File

@@ -29,6 +29,8 @@ class MusicListView : ConstraintLayout, MusicListViewModel.IMusicListViewCaLillb
private val dataList = mutableListOf<MusicData>()
private lateinit var lineAdapter:MusicListItemAdapter
private var isFirstVisable = false
private fun initView() {
LayoutInflater.from(context).inflate(R.layout.taxi_p_music_list, this, true)
rv_music_list.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
@@ -39,6 +41,8 @@ class MusicListView : ConstraintLayout, MusicListViewModel.IMusicListViewCaLillb
override fun onAttachedToWindow() {
super.onAttachedToWindow()
isFirstVisable = true
val viewModel = findViewTreeViewModelStoreOwner()?.let {
ViewModelProvider(it).get(MusicListViewModel::class.java)
}
@@ -48,8 +52,11 @@ class MusicListView : ConstraintLayout, MusicListViewModel.IMusicListViewCaLillb
override fun onVisibilityAggregated(isVisible: Boolean) {
super.onVisibilityAggregated(isVisible)
if(isVisible){
if(isVisible&&isFirstVisable){
isFirstVisable = false
if (dataList.isNotEmpty()) {
MusicModel.checkMusic(dataList.first(),false)
}
}
}