From 2aaa7f279577ba03904c02e04dcc7f7ea19b98cf Mon Sep 17 00:00:00 2001 From: lyr <15622190878@163.com> Date: Tue, 29 Jun 2021 15:07:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=A4=BE=E5=8C=BA-=E8=AE=BA?= =?UTF-8?q?=E5=9D=9BTab=E7=9A=84UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/gamecenter/forum/home/ForumFragment.kt | 20 +++++++++++++------ .../forum/home/OfficialForumAdapter.kt | 2 ++ app/src/main/res/layout/fragment_forum.xml | 2 -- .../main/res/layout/official_forum_item.xml | 4 +--- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumFragment.kt index 8d5972768e..733155baf7 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumFragment.kt @@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.gh.base.fragment.LazyFragment import com.gh.common.util.observeNonNull +import com.gh.common.util.tryCatchInRelease import com.gh.common.util.viewModelProvider import com.gh.common.view.GridSpacingItemColorDecoration import com.gh.gamecenter.R @@ -48,10 +49,12 @@ class ForumFragment: LazyFragment(), SwipeRefreshLayout.OnRefreshListener { super.initRealView() mUserViewModel?.loginObsUserinfo?.observe(this, Observer { - if (it?.data == null) { - mBinding?.followForumContainer?.visibility = View.GONE + if (!mIsFirst) { + if (it?.data == null) { + mBinding?.followForumContainer?.visibility = View.GONE + } + onRefresh() } - onRefresh() }) mViewModel?.followForumsLiveData?.observe(viewLifecycleOwner, Observer { @@ -138,9 +141,12 @@ class ForumFragment: LazyFragment(), SwipeRefreshLayout.OnRefreshListener { mHaveHotForum = false mBinding?.run { contentContainer.visibility = View.GONE - reuseLoading.root.visibility = View.VISIBLE + reuseLoading.root.visibility = if (refreshLayout.isRefreshing) View.GONE else View.VISIBLE } - mViewModel?.getData() + mBaseHandler.postDelayed({ + tryCatchInRelease { mViewModel?.getData() } + }, 500) + } private fun hideRefreshingLayout() { @@ -193,10 +199,12 @@ class ForumFragment: LazyFragment(), SwipeRefreshLayout.OnRefreshListener { mBinding?.run { officialForumContainer.visibility = View.VISIBLE officialMore.setOnClickListener { startActivity(ForumListActivity.getIntent(requireContext(), ForumListActivity.TYPE_OFFICIAL)) } + if (officialForumRv.adapter !is OfficialForumAdapter) { + officialForumRv.addItemDecoration(GridSpacingItemColorDecoration(requireContext(), 0, 16, R.color.transparent)) + } officialForumRv.layoutManager = GridLayoutManager(requireContext(), 2) val newList = if (list.size > 6) list.subList(0, 6) else list officialForumRv.adapter = OfficialForumAdapter(requireContext(), "社区-论坛-热门论坛", newList) - officialForumRv.addItemDecoration(GridSpacingItemColorDecoration(requireContext(), 0, 16, R.color.transparent)) } } diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/OfficialForumAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/home/OfficialForumAdapter.kt index e48ea70c16..20b49f81e3 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/home/OfficialForumAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/home/OfficialForumAdapter.kt @@ -36,6 +36,8 @@ class OfficialForumAdapter(context: Context, entity = forumEntity executePendingBindings() + forumIv.displayGameIcon(forumEntity.icon, null) + root.setOnClickListener { mContext.startActivity(ForumDetailActivity.getIntent(mContext, forumEntity.id, entrance)) } diff --git a/app/src/main/res/layout/fragment_forum.xml b/app/src/main/res/layout/fragment_forum.xml index 0a0a0bd72e..38b454554d 100644 --- a/app/src/main/res/layout/fragment_forum.xml +++ b/app/src/main/res/layout/fragment_forum.xml @@ -71,8 +71,6 @@ -