Kotlin Android MVVM RecyclerView Не показывать никаких данных - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь реализовать архитектуру MVVM, используя ROOM. У меня есть база данных, в которой хранятся мои данные. Но это не будет отображаться в RecyclerView

Что я делаю не так? Я вижу RecyclerView, но без каких-либо данных.

Я искал проблемы, но не вижу, в чем проблема.

Действия с recycyclerview:


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!!) })


  }
}

Адаптер 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)


    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...