修复游戏详情页标签后台返回为空时的闪退
This commit is contained in:
@ -263,11 +263,13 @@ class DescViewModel(application: Application,
|
||||
if (item.type == DetailEntity.Type.CUSTOM_COLUMN.value) {
|
||||
item.customColumn?.infoTag?.let {
|
||||
for (tag in it) {
|
||||
Picasso.with(getApplication()).load(tag.icon).into(object : Target {
|
||||
override fun onPrepareLoad(placeHolderDrawable: Drawable?) {}
|
||||
override fun onBitmapFailed(errorDrawable: Drawable?) {}
|
||||
override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {}
|
||||
})
|
||||
tryWithDefaultCatch {
|
||||
Picasso.with(getApplication()).load(tag.icon).into(object : Target {
|
||||
override fun onPrepareLoad(placeHolderDrawable: Drawable?) {}
|
||||
override fun onBitmapFailed(errorDrawable: Drawable?) {}
|
||||
override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ import androidx.recyclerview.widget.RecyclerView
|
||||
import butterknife.BindView
|
||||
import com.gh.base.BaseRecyclerViewHolder
|
||||
import com.gh.common.util.SpanBuilder
|
||||
import com.gh.common.util.tryWithDefaultCatch
|
||||
import com.gh.common.view.CenterImageSpan
|
||||
import com.gh.common.view.CustomLinkMovementMethod
|
||||
import com.gh.gamecenter.R
|
||||
@ -51,22 +52,24 @@ class GameDetailCustomColumnAdapter(context: Context)
|
||||
color ?: "#000000")
|
||||
.build()
|
||||
|
||||
Picasso.with(mContext).load(icon)
|
||||
.priority(Picasso.Priority.HIGH)
|
||||
.into(object : Target {
|
||||
override fun onPrepareLoad(placeHolderDrawable: Drawable?) {
|
||||
viewHolder.contentTv.movementMethod = CustomLinkMovementMethod.getInstance()
|
||||
viewHolder.contentTv.text = spannable
|
||||
}
|
||||
override fun onBitmapFailed(errorDrawable: Drawable?) {}
|
||||
override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {
|
||||
val bitmapDrawable = BitmapDrawable(mContext.resources, bitmap)
|
||||
bitmapDrawable.setBounds(0, 0, DensityUtil.dip2px(12F), DensityUtil.dip2px(12F))
|
||||
spannable.setSpan(CenterImageSpan(bitmapDrawable), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
|
||||
viewHolder.contentTv.movementMethod = CustomLinkMovementMethod.getInstance()
|
||||
viewHolder.contentTv.text = spannable
|
||||
}
|
||||
})
|
||||
tryWithDefaultCatch {
|
||||
Picasso.with(mContext).load(icon)
|
||||
.priority(Picasso.Priority.HIGH)
|
||||
.into(object : Target {
|
||||
override fun onPrepareLoad(placeHolderDrawable: Drawable?) {
|
||||
viewHolder.contentTv.movementMethod = CustomLinkMovementMethod.getInstance()
|
||||
viewHolder.contentTv.text = spannable
|
||||
}
|
||||
override fun onBitmapFailed(errorDrawable: Drawable?) {}
|
||||
override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {
|
||||
val bitmapDrawable = BitmapDrawable(mContext.resources, bitmap)
|
||||
bitmapDrawable.setBounds(0, 0, DensityUtil.dip2px(12F), DensityUtil.dip2px(12F))
|
||||
spannable.setSpan(CenterImageSpan(bitmapDrawable), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
|
||||
viewHolder.contentTv.movementMethod = CustomLinkMovementMethod.getInstance()
|
||||
viewHolder.contentTv.text = spannable
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user