Skip to content

Commit

Permalink
基类弹窗修改
Browse files Browse the repository at this point in the history
  • Loading branch information
DL-ZhangTeng committed Dec 30, 2021
1 parent 54460be commit efc34e2
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,19 @@ class TreeAdapter(
data: MutableList<TreeBean?>?,
defaultExpandLevel: Int
) : TreeRecyclerViewAdapter<TreeBean>(data, defaultExpandLevel) {
override fun getCreateViewHolder(parent: ViewGroup?, viewType: Int): DefaultViewHolder {

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DefaultViewHolder {
return DefaultViewHolder(
LayoutInflater.from(parent?.context).inflate(R.layout.item_tree_layout, parent, false)
LayoutInflater.from(parent.context).inflate(R.layout.item_tree_layout, parent, false)
)
}

override fun getBindViewHolder(node: Node?, position: Int, holder: DefaultViewHolder?) {
override fun onBindViewHolder(
holder: DefaultViewHolder?,
item: TreeBean?,
position: Int,
node: Node?
) {
holder?.getView<TextView>(R.id.tv_name)?.text = node?.getName()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ abstract class HeaderOrFooterAdapter<T>(private val mInnerAdapter: BaseAdapter<T
return mInnerAdapter.onCreateViewHolder(parent, viewType)
}

override fun onBindViewHolder(holder: DefaultViewHolder, position: Int) {
override fun onBindViewHolder(holder: DefaultViewHolder, item: T?, position: Int) {
if (isHeaderViewPos(position)) {
onBindHeaderOrFooterViewHolder(holder, getItemViewType(position))
onBindHeaderOrFooterViewHolder(holder, item, getItemViewType(position))
return
}
if (isFooterViewPos(position)) {
onBindHeaderOrFooterViewHolder(holder, getItemViewType(position))
onBindHeaderOrFooterViewHolder(holder, item, getItemViewType(position))
return
}
mInnerAdapter.onBindViewHolder(holder, position - getHeadersCount())
Expand Down Expand Up @@ -134,7 +134,7 @@ abstract class HeaderOrFooterAdapter<T>(private val mInnerAdapter: BaseAdapter<T
viewInt: Int?
): DefaultViewHolder

abstract fun onBindHeaderOrFooterViewHolder(holder: DefaultViewHolder, viewType: Int)
abstract fun onBindHeaderOrFooterViewHolder(holder: DefaultViewHolder, item: T?, viewType: Int)
open fun getHeaderViewByType(viewType: Int): View? {
return mHeaderViews.get(viewType)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ class PublishAdapter : BaseAdapter<ImageInfo?, DefaultViewHolder> {
override fun onBindViewHolder(holder: DefaultViewHolder, item: ImageInfo?, position: Int) {
if (holder is PublishViewHolder) {
GlideImageLoader().loadImage(
holder.imageView.context, holder.imageView, data!![position]!!.path
holder.imageView.context, holder.imageView, item!!.path
)
}
setHolderViewClickListener(holder)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.zhangteng.base.adapter

import android.annotation.SuppressLint
import android.content.*
import android.view.ViewGroup
import com.zhangteng.base.base.BaseAdapter
Expand Down Expand Up @@ -35,6 +36,7 @@ abstract class TreeRecyclerViewAdapter<T>(data: MutableList<T?>?, defaultExpandL
*
* @param position
*/
@SuppressLint("NotifyDataSetChanged")
open fun expandOrCollapse(position: Int) {
val n = mNodes?.get(position)
if (n != null) { // 排除传入参数错误异常
Expand All @@ -46,13 +48,9 @@ abstract class TreeRecyclerViewAdapter<T>(data: MutableList<T?>?, defaultExpandL
}
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DefaultViewHolder {
return getCreateViewHolder(parent, viewType)
}

override fun onBindViewHolder(holder: DefaultViewHolder, item: T?, position: Int) {
val node = mNodes?.get(position)
getBindViewHolder(node, position, holder)
onBindViewHolder(holder, item, position, node)
// 设置内边距
holder.itemView.setPadding((node?.getLevel() ?: 0) * 40, 3, 3, 3)
/**
Expand All @@ -70,8 +68,8 @@ abstract class TreeRecyclerViewAdapter<T>(data: MutableList<T?>?, defaultExpandL
return mNodes?.size ?: 0
}

abstract fun getCreateViewHolder(parent: ViewGroup?, viewType: Int): DefaultViewHolder
abstract fun getBindViewHolder(node: Node?, position: Int, holder: DefaultViewHolder?)
abstract fun onBindViewHolder(holder: DefaultViewHolder?, item: T?, position: Int, node: Node?)

interface OnTreeNodeClickListener {
open fun onClick(node: Node?, position: Int)
}
Expand Down

0 comments on commit efc34e2

Please sign in to comment.