Sfoglia il codice sorgente

fix: 小黑屋跳转

tongmengxiao 11 mesi fa
parent
commit
864e464d61

+ 33 - 11
home/src/main/java/com/swago/home/search/SearchActivity.kt

@@ -17,6 +17,7 @@ import com.swago.baseswago.model.MomentModel
 import com.swago.baseswago.model.home.HomeModel
 import com.swago.baseswago.util.DpPxUtil
 import com.swago.baseswago.util.NoDoubleClickListener
+import com.swago.home.R
 import com.swago.home.databinding.ActivitySearchBinding
 import com.swago.home.innerhome.HomeAdapter
 
@@ -59,23 +60,44 @@ class SearchActivity : BaseListActivity<ActivitySearchBinding, MomentModel>() {
             }
         })
 
-        adapter.setOnItemChildClickListener { _, _, position ->
+        adapter.setOnItemChildClickListener { _, view, position ->
             this.position = position
-            val isFollow = adapter.data[position].is_follow
-            if (isFollow == 0){
-                userVm.followUser(adapter.data[position].id,0)
-            }else if (isFollow == 1){
-                userVm.followUser(adapter.data[position].id,1)
+            when(view?.id){
+                R.id.ivStatus -> {
+                    val isFollow = adapter.data[position].is_follow
+                    if (isFollow == 0){
+                        userVm.followUser(adapter.data[position].id,0)
+                    }else if (isFollow == 1){
+                        userVm.followUser(adapter.data[position].id,1)
+                    }
+                }
+                R.id.ivAvatar -> {
+                    if (adapter.data.size>position){
+                        ARouter.getInstance()
+                            .build(ARouteConstant.Room.user)
+                            .withInt("position",position)
+                            .withParcelableArrayList("data",adapter.data as ArrayList<MomentModel>)
+                            .navigation()
+                    }
+                }
             }
+
         }
 
         adapter.setOnItemClickListener { _, _, position ->
             if (adapter.data.size>position){
-                ARouter.getInstance()
-                    .build(ARouteConstant.Room.user)
-                    .withInt("position",position)
-                    .withParcelableArrayList("data",adapter.data as ArrayList<MomentModel>)
-                    .navigation()
+                if (adapter.data[position].user_broadcast_status == 1){
+                    ARouter.getInstance()
+                        .build(ARouteConstant.Room.user)
+                        .withInt("position",position)
+                        .withParcelableArrayList("data",adapter.data as ArrayList<MomentModel>)
+                        .navigation()
+                }else{
+                    PersonDataDFragment.newInstance(adapter.data[position].id,
+                        isAnchor = true,
+                        inRoom = false
+                    ).show(supportFragmentManager,"PersonDataDFragment")
+                }
             }
         }
     }

+ 1 - 0
home/src/main/java/com/swago/home/search/SearchAdapter.kt

@@ -35,6 +35,7 @@ class SearchAdapter :
                     setImageResource(R.id.ivStatus, R.mipmap.follow)
                 }
                 addOnClickListener(R.id.ivStatus)
+                addOnClickListener(R.id.ivAvatar)
                 val tvLevel = itemView.findViewById<SwagoLevelView>(R.id.tvLevel)
                 tvLevel.setUserLevel(item.user_level)
                 val ivAvatar = itemView.findViewById<CircleImageView>(R.id.ivAvatar)

+ 40 - 29
user/src/main/java/com/swago/user/FollowAndFansActivity.kt

@@ -82,39 +82,50 @@ class FollowAndFansActivity : BaseListActivity<LayoutListBinding, BlackListModel
             }
         }
 
-        adapter.setOnItemChildClickListener { _, _, position ->
+        adapter.setOnItemChildClickListener { _, view, position ->
             this.position = position
-            userVm.followUser(adapter.data[position].id, 1)
-        }
-
-        adapter.setOnItemClickListener { _, _, position ->
-            if (adapter.data.size > position && position >= 0) {
-                if (type == 0){
-                    val momentModel = MomentModel()
-                    momentModel.id = adapter.data[position].id
-                    momentModel.user_account = adapter.data[position].user_account
-                    momentModel.user_name = adapter.data[position].user_name
-                    momentModel.user_head_img_url = adapter.data[position].user_head_img_url
-                    momentModel.user_sex = adapter.data[position].user_sex
-                    momentModel.user_broadcast_status = adapter.data[position].user_broadcast_status
-                    momentModel.broadcast_password_status = adapter.data[position].broadcast_password_status
-                    momentModel.user_broadcast_type = adapter.data[position].user_broadcast_type
-                    momentModelList.clear()
-                    momentModelList.add(momentModel)
-                    ARouter.getInstance()
-                        .build(ARouteConstant.Room.user)
-                        .withInt("position",0)
-                        .withParcelableArrayList("data",momentModelList)
-                        .navigation()
-                } else {
-                    PersonDataDFragment.newInstance(
-                        adapter.data[position].id,
-                        isAnchor = false,
-                        inRoom = false
-                    ).show(supportFragmentManager, "PersonDataDFragment")
+            when(view.id){
+                R.id.ivStatus -> {
+                    userVm.followUser(adapter.data[position].id, 1)
+                }
+                R.id.ivAvatar -> {
+                    if (adapter.data.size > position && position >= 0){
+                        if (type == 0){
+                            val momentModel = MomentModel()
+                            momentModel.id = adapter.data[position].id
+                            momentModel.user_account = adapter.data[position].user_account
+                            momentModel.user_name = adapter.data[position].user_name
+                            momentModel.user_head_img_url = adapter.data[position].user_head_img_url
+                            momentModel.user_sex = adapter.data[position].user_sex
+                            momentModel.user_broadcast_status = adapter.data[position].user_broadcast_status
+                            momentModel.broadcast_password_status = adapter.data[position].broadcast_password_status
+                            momentModel.user_broadcast_type = adapter.data[position].user_broadcast_type
+                            momentModelList.clear()
+                            momentModelList.add(momentModel)
+                            ARouter.getInstance()
+                                .build(ARouteConstant.Room.user)
+                                .withInt("position",0)
+                                .withParcelableArrayList("data",momentModelList)
+                                .navigation()
+                        } else {
+                            PersonDataDFragment.newInstance(
+                                adapter.data[position].id,
+                                isAnchor = false,
+                                inRoom = false
+                            ).show(supportFragmentManager, "PersonDataDFragment")
+                        }
+                    }
                 }
+            }
 
+        }
 
+        adapter.setOnItemClickListener { _, _, position ->
+            if (adapter.data.size>position && position >= 0){
+                PersonDataDFragment.newInstance(adapter.data[position].id,
+                    isAnchor = false,
+                    inRoom = false
+                ).show(supportFragmentManager,"PersonDataDFragment")
             }
         }
     }

+ 1 - 0
user/src/main/java/com/swago/user/adapter/FollowFanAdapter.kt

@@ -36,6 +36,7 @@ class FollowFanAdapter(private val type:Int) : BaseQuickAdapter<BlackListModel.L
                 setVisible(R.id.ivStatus,false)
             }
 
+            addOnClickListener(R.id.ivAvatar)
             setGone(R.id.tvAgent,item.is_service == 1)
             setGone(R.id.tvOfficial,item.is_official == 1)
             setGone(R.id.ivCrown,item.is_crown == 1)