My App is just shows an Empty Screen and just the action bar, recyclerView
is not showing anything or is not working but there are no compile time or run time errors.
It would be great help if I get an answer
Here is My MainActivity , Adapter , DataClass and Dependencies
MainActivity (kotlin)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val actionBar = supportActionBar
actionBar!!.title = "Home"
var mydataset = listOf<HomeData>(
HomeData(R.drawable.cover1),
HomeData(R.drawable.cover2),
HomeData(R.drawable.cover3),
HomeData(R.drawable.cover1),
HomeData(R.drawable.cover2),
HomeData(R.drawable.cover3),
)
val recycler = findViewById<RecyclerView>(R.id.recycler_view1)
recycler.adapter = ItemAdapter(mydataset)
recycler.setHasFixedSize(true)
}
}
ItemAdapter (Kotlin)
class ItemAdapter(private val dataset: List<HomeData>) : RecyclerView.Adapter<ItemAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val layout = LayoutInflater.from(parent.context)
.inflate(R.layout.card_layout, parent, false)
return ViewHolder(layout)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = dataset[position]
holder.imgView.setImageResource(item.drawableResId)
}
override fun getItemCount() = dataset.size
class ViewHolder(var view: View) : RecyclerView.ViewHolder(view) {
var imgView: ImageView = view.findViewById(R.id.item_image)
}
}
HomeData (Kotlin)
data class HomeData (@DrawableRes val drawableResId : Int)
Dependencies
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.3.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation "androidx.recyclerview:recyclerview:1.2.0"
implementation "androidx.cardview:cardview:1.0.0"
}
P.S. Its my first time asking question on StackOverflow and I tried my best to format and give necessary details.