fix: 修复 Bugs
This commit is contained in:
parent
f30498e83a
commit
12612f1956
|
|
@ -92,6 +92,9 @@ class ThreadMainPostAdapter(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showMenu() {
|
private fun showMenu() {
|
||||||
|
if (threadPostBean == null) {
|
||||||
|
return
|
||||||
|
}
|
||||||
val userInfoBean: ThreadContentBean.UserInfoBean = user
|
val userInfoBean: ThreadContentBean.UserInfoBean = user
|
||||||
MenuDialogFragment.newInstance(R.menu.menu_thread_item, null)
|
MenuDialogFragment.newInstance(R.menu.menu_thread_item, null)
|
||||||
.setOnNavigationItemSelectedListener { item: MenuItem ->
|
.setOnNavigationItemSelectedListener { item: MenuItem ->
|
||||||
|
|
|
||||||
|
|
@ -35,13 +35,9 @@ import com.huanchengfly.tieba.post.utils.ThemeUtil
|
||||||
import com.huanchengfly.tieba.post.utils.TiebaUtil
|
import com.huanchengfly.tieba.post.utils.TiebaUtil
|
||||||
import com.huanchengfly.tieba.post.utils.Util
|
import com.huanchengfly.tieba.post.utils.Util
|
||||||
import com.huanchengfly.tieba.post.utils.anim.animSet
|
import com.huanchengfly.tieba.post.utils.anim.animSet
|
||||||
import com.huanchengfly.tieba.post.widgets.ShadowLayout
|
|
||||||
import com.huanchengfly.tieba.post.widgets.VideoPlayerStandard
|
import com.huanchengfly.tieba.post.widgets.VideoPlayerStandard
|
||||||
import com.scwang.smart.refresh.header.MaterialHeader
|
import com.scwang.smart.refresh.header.MaterialHeader
|
||||||
import com.scwang.smart.refresh.layout.SmartRefreshLayout
|
import com.scwang.smart.refresh.layout.SmartRefreshLayout
|
||||||
import retrofit2.Call
|
|
||||||
import retrofit2.Callback
|
|
||||||
import retrofit2.Response
|
|
||||||
|
|
||||||
class PersonalizedFeedFragment : BaseFragment(), PersonalizedFeedAdapter.OnRefreshListener,
|
class PersonalizedFeedFragment : BaseFragment(), PersonalizedFeedAdapter.OnRefreshListener,
|
||||||
Refreshable, Toolbar.OnMenuItemClickListener {
|
Refreshable, Toolbar.OnMenuItemClickListener {
|
||||||
|
|
@ -68,7 +64,7 @@ class PersonalizedFeedFragment : BaseFragment(), PersonalizedFeedAdapter.OnRefre
|
||||||
lateinit var recyclerView: RecyclerView
|
lateinit var recyclerView: RecyclerView
|
||||||
|
|
||||||
@BindView(R.id.refresh_tip)
|
@BindView(R.id.refresh_tip)
|
||||||
lateinit var refreshTip: ShadowLayout
|
lateinit var refreshTip: View
|
||||||
|
|
||||||
@BindView(R.id.refresh_tip_text)
|
@BindView(R.id.refresh_tip_text)
|
||||||
lateinit var refreshTipText: TextView
|
lateinit var refreshTipText: TextView
|
||||||
|
|
@ -226,27 +222,19 @@ class PersonalizedFeedFragment : BaseFragment(), PersonalizedFeedAdapter.OnRefre
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun loadMore() {
|
private fun loadMore() {
|
||||||
TiebaApi.getInstance().personalized(2, page + 1)
|
launchIO {
|
||||||
.enqueue(object : Callback<PersonalizedBean> {
|
TiebaApi.getInstance().personalizedAsync(2, page + 1)
|
||||||
override fun onFailure(call: Call<PersonalizedBean>, t: Throwable) {
|
.doIfSuccess {
|
||||||
refreshLayout.finishLoadMore(false)
|
this@PersonalizedFeedFragment.personalizedBean = it
|
||||||
}
|
it.threadList?.forEachIndexed { index, threadBean ->
|
||||||
|
|
||||||
override fun onResponse(
|
|
||||||
call: Call<PersonalizedBean>,
|
|
||||||
response: Response<PersonalizedBean>
|
|
||||||
) {
|
|
||||||
val personalizedBean = response.body()!!
|
|
||||||
this@PersonalizedFeedFragment.personalizedBean = personalizedBean
|
|
||||||
personalizedBean.threadList?.forEachIndexed { index, threadBean ->
|
|
||||||
threadBean.threadPersonalizedBean =
|
threadBean.threadPersonalizedBean =
|
||||||
personalizedBean.threadPersonalized?.get(index)
|
it.threadPersonalized?.get(index)
|
||||||
}
|
}
|
||||||
val newThreadBeans: List<PersonalizedBean.ThreadBean> =
|
val newThreadBeans: List<PersonalizedBean.ThreadBean> =
|
||||||
personalizedBean.threadList?.filterNot {
|
it.threadList?.filterNot { threadBean ->
|
||||||
(it.abstractBeans?.size!! > 0 && BlockUtil.needBlock(it.abstractBeans[0].text)) || BlockUtil.needBlock(
|
(threadBean.abstractBeans?.size!! > 0 && BlockUtil.needBlock(threadBean.abstractBeans[0].text)) || BlockUtil.needBlock(
|
||||||
it.author?.nameShow,
|
threadBean.author?.nameShow,
|
||||||
it.author?.id
|
threadBean.author?.id
|
||||||
)
|
)
|
||||||
}!!
|
}!!
|
||||||
adapter.apply {
|
adapter.apply {
|
||||||
|
|
@ -255,7 +243,10 @@ class PersonalizedFeedFragment : BaseFragment(), PersonalizedFeedAdapter.OnRefre
|
||||||
page += 1
|
page += 1
|
||||||
refreshLayout.finishLoadMore(true)
|
refreshLayout.finishLoadMore(true)
|
||||||
}
|
}
|
||||||
})
|
.doIfFailure {
|
||||||
|
refreshLayout.finishLoadMore(false)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onFragmentVisibleChange(isVisible: Boolean) {
|
override fun onFragmentVisibleChange(isVisible: Boolean) {
|
||||||
|
|
|
||||||
|
|
@ -185,7 +185,11 @@ class SearchThreadFragment : BaseFragment(), ISearchFragment, NewSearchActivity.
|
||||||
call: Call<SearchThreadBean>,
|
call: Call<SearchThreadBean>,
|
||||||
response: Response<SearchThreadBean>
|
response: Response<SearchThreadBean>
|
||||||
) {
|
) {
|
||||||
val searchThreadBean = response.body()!!
|
val searchThreadBean = response.body()
|
||||||
|
if (searchThreadBean == null) {
|
||||||
|
refreshLayout?.finishLoadMore(false)
|
||||||
|
return
|
||||||
|
}
|
||||||
mData = searchThreadBean.data
|
mData = searchThreadBean.data
|
||||||
mData!!.postList?.let {
|
mData!!.postList?.let {
|
||||||
searchThreadAdapter!!.insert(it)
|
searchThreadAdapter!!.insert(it)
|
||||||
|
|
|
||||||
|
|
@ -73,37 +73,28 @@
|
||||||
android:layout_marginBottom="@dimen/card_margin" />
|
android:layout_marginBottom="@dimen/card_margin" />
|
||||||
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
|
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
|
||||||
|
|
||||||
<com.huanchengfly.tieba.post.widgets.ShadowLayout
|
<com.huanchengfly.tieba.post.widgets.theme.TintRelativeLayout
|
||||||
android:id="@+id/refresh_tip"
|
android:id="@+id/refresh_tip"
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="top|center_horizontal"
|
android:layout_gravity="top|center_horizontal"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:shadow_layout_blur="8dp"
|
android:layout_width="wrap_content"
|
||||||
app:shadow_layout_color="?attr/shadow_color"
|
android:layout_height="wrap_content"
|
||||||
app:shadow_layout_offsetY="4dp"
|
android:background="@drawable/bg_radius_50dp"
|
||||||
app:shadow_layout_radius="8dp"
|
android:padding="8dp"
|
||||||
|
android:paddingStart="16dp"
|
||||||
|
android:paddingEnd="16dp"
|
||||||
|
app:backgroundTint="@color/default_color_accent"
|
||||||
|
tools:backgroundTint="@color/default_color_accent"
|
||||||
tools:visibility="visible">
|
tools:visibility="visible">
|
||||||
|
|
||||||
<com.huanchengfly.tieba.post.widgets.theme.TintRelativeLayout
|
<com.huanchengfly.tieba.post.widgets.theme.TintTextView
|
||||||
|
android:id="@+id/refresh_tip_text"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@drawable/bg_radius_50dp"
|
android:textColor="@color/white"
|
||||||
android:padding="8dp"
|
android:textSize="@dimen/text_size_refresh_tip"
|
||||||
android:paddingStart="16dp"
|
android:textStyle="bold"
|
||||||
android:paddingEnd="16dp"
|
tools:text="更新了 12 条动态" />
|
||||||
app:backgroundTint="@color/default_color_accent"
|
</com.huanchengfly.tieba.post.widgets.theme.TintRelativeLayout>
|
||||||
tools:backgroundTint="@color/default_color_accent">
|
|
||||||
|
|
||||||
<com.huanchengfly.tieba.post.widgets.theme.TintTextView
|
|
||||||
android:id="@+id/refresh_tip_text"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@color/white"
|
|
||||||
android:textSize="@dimen/text_size_refresh_tip"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="更新了 12 条动态" />
|
|
||||||
</com.huanchengfly.tieba.post.widgets.theme.TintRelativeLayout>
|
|
||||||
</com.huanchengfly.tieba.post.widgets.ShadowLayout>
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
Loading…
Reference in New Issue