如何解决在 ConcatAdapter Android 中设置不同适配器之间的边距/填充
是否可以在 ConcatAdapter 中的不同适配器之间设置空格(边距/填充)?我只有一个简单的代码示例,如下所示,但根据设计,我必须在不同的适配器(不是一个适配器中的支架项目)之间添加边距。实现这一目标的最佳方法是什么?
Measure 1 =
VAR CurrentID = SELECTEDVALUE ( rjap[ID] )
VAR CurrentName = SELECTEDVALUE ( rjap[M Name] )
VAR RowsWithSameID =
FILTER (
ALLSELECTED ( rjap ),rjap[ID] = CurrentID
)
VAR Result =
FILTER (
RowsWithSameID,LEFT ( rjap[M Name],3 ) = "Ann"
|| LEFT ( rjap[M Name],1 ) = "B"
)
RETURN
IF ( COUNTROWS ( Result ) >= 2,"A,B",CurrentName )
解决方法
我设法做到了这样的事情:
class EmptySpaceAdapter(private val context: Context,private val height: Int) : RecyclerView.Adapter<BaseViewHolder<*>>() {
override fun onCreateViewHolder(parent: ViewGroup,viewType: Int): BaseViewHolder<*> {
val view = View(context)
view.layoutParams = ViewGroup.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT,height)
return EmptySpaceViewHolder(view)
}
override fun getItemCount() = 1
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
override fun onBindViewHolder(holder: BaseViewHolder<*>,position: Int) {
when (holder) {
is EmptySpaceViewHolder -> holder.bind(true,position)
else -> throw IllegalArgumentException("No view holder to show this data,did you forgot to add it to the onBindViewHolder?")
}
}
inner class EmptySpaceViewHolder(itemView: View) : BaseViewHolder<Boolean>(itemView) {
override fun bind(item: Boolean,position: Int) {
Timber.d("onBind empty space")
}
}
}
ViewHolder:
abstract class BaseViewHolder<T>(itemView: View) : RecyclerView.ViewHolder(itemView) {
abstract fun bind(item: T,position: Int)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。