我希望这个搜索类在数据库中搜索用户,我把一些我经常使用的函数放在一个抽象类中,比如“AbsBottom”,它扩展了“AppCompactActivity”。
除了扩展类,我什么都没做,它与旧类完美配合,但是当我将其更改为更新后的类时,它会出错。
这是更新后的类
class SearchActivity : AbsBottom(R.layout.activity_search, R.id.bottomNav, R.id.search_nav) {
private var user = mutableListOf(UserSearch())
private var userAdapter = UserViewHolder()
lateinit var binding: ActivitySearchBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivitySearchBinding.inflate(layoutInflater)
//setContentView(binding.root)
//layout
binding.recyclerProfile.setHasFixedSize(true)
val llm = LinearLayoutManager(this)
llm.orientation = LinearLayoutManager.VERTICAL
binding.recyclerProfile.layoutManager = llm
//region Adapter Setup
binding.recyclerProfile.adapter = userAdapter
binding.searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {
//do stuff
}
override fun onQueryTextChange(newText: String?): Boolean {
//do other stuff
}
})
//endregion
}
}
字符串
这是原来的
class SearchActivity : AppCompatActivity() {
private var user = mutableListOf(UserSearch())
private var userAdapter = UserViewHolder()
lateinit var binding: ActivitySearchBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivitySearchBinding.inflate(layoutInflater)
setContentView(binding.root)
bottomNavigation()
//layout
binding.recyclerProfile.setHasFixedSize(true)
val llm = LinearLayoutManager(this)
llm.orientation = LinearLayoutManager.VERTICAL
binding.recyclerProfile.layoutManager = llm
// userAdapter.setUsers(user)
//region Adapter Setup
binding.recyclerProfile.adapter = userAdapter
binding.searchView.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
override fun onQueryTextSubmit(query: String?): Boolean {
//do stuff
}
override fun onQueryTextChange(newText: String?): Boolean {
//do other stuff
}
})
//endregion
}
}
型
这就是抽象类的样子
abstract class AbsBottom(val idC: Int, val idB: Int, val ac: Int) : AppCompatActivity() {
protected lateinit var bottomNav : BottomNavigationView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(idC)
bottomNav = findViewById(idB)
bottomNav.selectedItemId = ac
//etc
}
}
型
这个错误并没有说明太多,它说它看不到userAdapter,因此它没有加载搜索到的用户列表
1条答案
按热度按时间o2g1uqev1#
修复了问题,注解了行
字符串
打破了束缚。