Kotlin Android MVVM RecyclerView Don';不显示任何数据
我正在尝试使用ROOM实现MVVM体系结构。 我有保存我数据的数据库。但它不会在RecyclerView中显示 我做错了什么?我看到RecyclerView,但没有任何数据 一、 我一直在寻找问题,但我不知道问题在哪里 使用recycyclerview的活动:Kotlin Android MVVM RecyclerView Don';不显示任何数据,android,kotlin,mvvm,android-recyclerview,android-mvvm,Android,Kotlin,Mvvm,Android Recyclerview,Android Mvvm,我正在尝试使用ROOM实现MVVM体系结构。 我有保存我数据的数据库。但它不会在RecyclerView中显示 我做错了什么?我看到RecyclerView,但没有任何数据 一、 我一直在寻找问题,但我不知道问题在哪里 使用recycyclerview的活动: class Main2Activity : AppCompatActivity() { lateinit var FirebaseUser: FirebaseUser lateinit var auth: Firebas
class Main2Activity : AppCompatActivity() {
lateinit var FirebaseUser: FirebaseUser
lateinit var auth: FirebaseAuth
lateinit var userRef: DatabaseReference
// private lateinit var ProfileViewModel: ProfileViewModel
private val ADD_PROFILE_REQUEST = 1
private lateinit var profileViewModel: ProfileViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
Calendar.getInstance()
val bundle: Bundle = intent.extras
val adapterRoom = ProfileRecyclerViewAdapter()
val recyclerView = findViewById<RecyclerView>(R.id.recyclerViewMain2)
addNew.setOnClickListener {
startActivityForResult(
Intent(this, LoggedInUserView::class.java),
ADD_PROFILE_REQUEST
)
}
recyclerView.layoutManager = LinearLayoutManager(this)
recyclerView.setHasFixedSize(true)
recyclerView.adapter = adapterRoom
@Suppress("DEPRECATION")
profileViewModel = ViewModelProviders.of(this).get(ProfileViewModel::class.java)
profileViewModel.allProfiles.observe(this,
Observer<List<Profile>> { t -> adapterRoom.setProfiles(t!!) })
}
}
类Main2Activity:AppCompatActivity(){
lateinit var FirebaseUser:FirebaseUser
lateinit var auth:FirebaseAuth
lateinit var userRef:数据库引用
//私有lateinit变量ProfileViewModel:ProfileViewModel
私有val添加配置文件请求=1
私有lateinit变量profileViewModel:profileViewModel
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
Calendar.getInstance()
val bundle:bundle=intent.extras
val adapteroom=profileRecycleServiceAdapter()
val recyclerView=findviewbyd(R.id.recyclerViewMain2)
addNew.setOnClickListener{
startActivityForResult(
意图(这个LoggedInUserView::class.java),
添加\u配置文件\u请求
)
}
recyclerView.layoutManager=LinearLayoutManager(此)
recyclerView.setHasFixedSize(真)
recyclerView.adapter=adapterRoom
@压制(“反对”)
profileViewModel=ViewModelProviders.of(this.get)(profileViewModel::class.java)
profileViewModel.allProfiles.observe(这个,
观察者{t->adapterRoom.setProfiles(t!!)}
}
}
RecyclerView适配器:
class ProfileRecyclerViewAdapter :
RecyclerView.Adapter<ProfileRecyclerViewAdapter.ProfileViewHolder>() {
private var profiles: List<Profile> = ArrayList()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ProfileViewHolder {
val itemView = LayoutInflater.from(parent.context)
.inflate(R.layout.profileview_item, parent, false)
return ProfileViewHolder(itemView)
}
override fun onBindViewHolder(holder: ProfileViewHolder, position: Int) {
val current = profiles[position]
holder.ProfileNameItemView.text = current.profilename
holder.ProfileunView.text = current.userLastname
holder.ProfilebdView.text = current.bornDay
holder.ProfilebmView.text = current.bornMonth
holder.ProfilebyView.text = current.bornYear
}
override fun getItemCount(): Int {
return profiles.size
}
fun setProfiles(profiles: List<Profile>) {
this.profiles = profiles
notifyDataSetChanged()
}
inner class ProfileViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val ProfileNameItemView: TextView = itemView.findViewById(R.id.ProfilenameIV)
val ProfileunView: TextView = itemView.findViewById(R.id.ProfileUnIV)
val ProfilebdView: TextView = itemView.findViewById(R.id.ProfileBdIV)
val ProfilebmView: TextView = itemView.findViewById(R.id.ProfileBmIV)
val ProfilebyView: TextView = itemView.findViewById(R.id.ProfileByIV)
}
}
类配置文件RecycleServiceAdapter:
RecyclerView.Adapter(){
私有变量配置文件:List=ArrayList()
重写CreateViewHolder(父级:ViewGroup,viewType:Int):ProfileViewHolder{
val itemView=LayoutInflater.from(parent.context)
.充气(R.layout.profileview_项,父项,false)
返回ProfileViewHolder(itemView)
}
覆盖BindViewHolder(holder:ProfileViewHolder,位置:Int){
val当前=外形[位置]
holder.ProfileNameItemView.text=current.profilename
holder.ProfileunView.text=current.userLastname
holder.ProfilebdView.text=current.bornDay
holder.ProfilebmView.text=current.bornMonth
holder.ProfilebyView.text=current.bornYear
}
重写getItemCount():Int{
返回配置文件。大小
}
乐趣集配置文件(配置文件:列表){
this.profiles=配置文件
notifyDataSetChanged()
}
内部类ProfileViewHolder(itemView:View):RecyclerView.ViewHolder(itemView){
val ProfileNameItemView:TextView=itemView.findViewById(R.id.ProfilenameIV)
val ProfileunView:TextView=itemView.findViewById(R.id.ProfileUnIV)
val ProfilebdView:TextView=itemView.findViewById(R.id.ProfileBdIV)
val ProfilebmView:TextView=itemView.findViewById(R.id.ProfileBmIV)
val ProfilebyView:TextView=itemView.findViewById(R.id.ProfileByIV)
}
}
是否触发了setProfiles
设置配置文件?我应该在哪里触发?活动\u main2的外观如何?只需简单的带有匹配参数和两个按钮的recyclerView即可。请显示您的配置文件RecyclerViewAdapters设置配置文件
正在触发?我应该在哪里触发?活动\u main2的外观如何?简单即可带有匹配参数和两个按钮的recyclerView请显示您的配置文件RecyclerViewAdapter