AndroCode

PROJECT

app
src
main
java
res
AndroidManifest.xml
build.gradle

ANDROID STUDIO

Connected to: Local Studio
MainActivity.kt
activity_main.xml
build.gradle
package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.lifecycle.ViewModelProvider
import com.example.myapplication.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private lateinit var viewModel: MainViewModel

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)

viewModel = ViewModelProvider(this).get(MainViewModel::class.java)

setupRecyclerView()
observeViewModel()
}

private fun setupRecyclerView() {
val adapter = ItemAdapter { item ->
showItemDetails(item)
}
binding.recyclerView.adapter = adapter
binding.recyclerView.layoutManager = LinearLayoutManager(this)
}

private fun observeViewModel() {
viewModel.items.observe(this) { items ->
(binding.recyclerView.adapter as ItemAdapter).submitList(items)
}
}
}
UTF-8 | Kotlin | Android
Ln 24, Col 12

XML Preview

<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Device Preview

My App
Item 1
Description for item 1
Item 2
Description for item 2
Item 3
Description for item 3

Made with DeepSite LogoDeepSite - 🧬 Remix