ArrayAdapter.clear 科特林
ArrayAdapter.clear kotlin
我正在尝试学习 kotlin,我想将我的一个 android 项目从 java 转换为 kotlin。但是我有一个问题
override fun onResponse(call: Call<List<CitySearch>>?, response: Response<List<CitySearch>>?) {
if(response != null && response.isSuccessful) {
val list = response.body()
cityAdapter.clear()
if(list != null && !list.isEmpty()){
cityAdapter.addAll(list)
listView.visibility = View.VISIBLE
recyclerView.visibility = View.GONE
cityName.visibility = View.GONE
}
}
}
我收到错误 Operation is not supported for read-only collection at kotlin.collections.EmptyList.clear() on the line with cityAdapter.clear()
不知道怎么解决。
所有项目请勾选
在这一行
cityAdapter = CitySearchAdapter(context, emptyList())
emptyList
会给你一个不可变列表(只读)所以你需要使用
cityAdapter = CitySearchAdapter(context, arrayListOf())
或
cityAdapter = CitySearchAdapter(context, mutableListOf<YourType>())
你可以像下面一样全局初始化arraylist
var mArrayBindStages: MutableList<String> = ArrayList()
将数据添加到数组列表中定义适配器并设置为适配器
var adapterSearch = User_Adapter_Search_Box(activity, dataList)
val mLayoutManager = GridLayoutManager(activity, 1)
rc_RecyclerView!!.layoutManager = mLayoutManager as RecyclerView.LayoutManager?
rc_RecyclerView!!.adapter = adapterSearch
adapterSearch!!.notifyDataSetChanged()
我正在尝试学习 kotlin,我想将我的一个 android 项目从 java 转换为 kotlin。但是我有一个问题
override fun onResponse(call: Call<List<CitySearch>>?, response: Response<List<CitySearch>>?) {
if(response != null && response.isSuccessful) {
val list = response.body()
cityAdapter.clear()
if(list != null && !list.isEmpty()){
cityAdapter.addAll(list)
listView.visibility = View.VISIBLE
recyclerView.visibility = View.GONE
cityName.visibility = View.GONE
}
}
}
我收到错误 Operation is not supported for read-only collection at kotlin.collections.EmptyList.clear() on the line with cityAdapter.clear() 不知道怎么解决。
所有项目请勾选
在这一行
cityAdapter = CitySearchAdapter(context, emptyList())
emptyList
会给你一个不可变列表(只读)所以你需要使用
cityAdapter = CitySearchAdapter(context, arrayListOf())
或
cityAdapter = CitySearchAdapter(context, mutableListOf<YourType>())
你可以像下面一样全局初始化arraylist
var mArrayBindStages: MutableList<String> = ArrayList()
将数据添加到数组列表中定义适配器并设置为适配器
var adapterSearch = User_Adapter_Search_Box(activity, dataList)
val mLayoutManager = GridLayoutManager(activity, 1)
rc_RecyclerView!!.layoutManager = mLayoutManager as RecyclerView.LayoutManager?
rc_RecyclerView!!.adapter = adapterSearch
adapterSearch!!.notifyDataSetChanged()