Closed MrShuHong closed 3 years ago
目前更新adapter只能使用一种方式 var items = emptyList<String>() var mMultiTypeAdapter = MultiTypeAdapter() mMultiTypeAdapter.items = items mMultiTypeAdapter.notifyDataSetChanged()
var items = emptyList<String>() var mMultiTypeAdapter = MultiTypeAdapter() mMultiTypeAdapter.items = items mMultiTypeAdapter.notifyDataSetChanged()
每次都需要在外面,新建一个items,然后设置给adapter替换掉,假如我如果想 ` var items = emptyList() var mMultiTypeAdapter = MultiTypeAdapter() mMultiTypeAdapter.items = items mMultiTypeAdapter.notifyDataSetChanged()
//第二次请求到数据 var itemsForNet = emptyList() items.addAll(itemsForNet) mMultiTypeAdapter.notifyItemRangeInserted(items.size - itemsForNet.size, itemsForNet.size) ` 但是mMultiTypeAdapter.items 是一个emptyList 直接获取不能调用addAll. 而必须用自己第一次传入的items
感谢建议,看起来没有什么强烈的理由不提供这便利,我觉得可以,下一版将支持。
由于 MultiTypeAdapter.items 必须是 List 而不能是 MutableList,因为没有必要是 MutableList,而且若改为 MutableList 将导致用户无法传递 List 给 MultiTypeAdapter。因此这个 issue 请求无法满足。
MultiTypeAdapter.items
List
MutableList
MultiTypeAdapter
目前更新adapter只能使用一种方式
var items = emptyList<String>() var mMultiTypeAdapter = MultiTypeAdapter() mMultiTypeAdapter.items = items mMultiTypeAdapter.notifyDataSetChanged()
每次都需要在外面,新建一个items,然后设置给adapter替换掉,假如我如果想 ` var items = emptyList()
var mMultiTypeAdapter = MultiTypeAdapter()
mMultiTypeAdapter.items = items
mMultiTypeAdapter.notifyDataSetChanged()
//第二次请求到数据 var itemsForNet = emptyList()
items.addAll(itemsForNet)
mMultiTypeAdapter.notifyItemRangeInserted(items.size - itemsForNet.size, itemsForNet.size)
`
但是mMultiTypeAdapter.items 是一个emptyList 直接获取不能调用addAll. 而必须用自己第一次传入的items