-1

我正在开发一个从 Api 获取信息的 Android 应用程序。

这是我的想法。

适配器

4

1 回答 1

0

1 个适配器可以完成这项工作。您需要的是单个适配器中的多个视图持有者。通过扩展 RecyclerView.ViewHolder 创建视图持有者。

例子:

class ExampleAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
        val context = parent.context
        return when (viewType) {
            VIEW_TYPE_VIEW_HOLDER_ONE -> {
                val view =
                    LayoutInflater.from(context).inflate(R.layout.view_holder_one, parent, false)
                ViewHolderOne(view)
            }
            else -> {
                val view = LayoutInflater.from(context)
                    .inflate(R.layout.view_holder_two, parent, false)
                ViewHolderTwo(view)
            }
        }
    }

    override fun getItemViewType(position: Int): Int {
        // Logic to return which view is which type
    }

    internal class ViewHolderOne(itemView: View) : RecyclerView.ViewHolder(itemView)

    internal class ViewHolderTwo(itemView: View) : RecyclerView.ViewHolder(itemView)
}
于 2020-10-02T01:09:00.987 回答