activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main"
android:orientation="vertical" >
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="100dp">
<TextView
android:layout_width="150dp"
android:layout_height="100dp"
android:textSize="50sp"
android:id="@+id/title"
android:background="@color/cardview_dark_background"
android:textColor="@color/white"/>
<TextView
android:id="@+id/content"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/cardview_shadow_start_color"
android:layout_gravity="center_vertical"
android:textColor="@color/black"
android:textSize="20sp" />
</LinearLayout>
activity_open.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:textSize="100sp"
android:id="@+id/title"
android:background="@color/cardview_dark_background"
android:textColor="@color/white"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="50sp"
android:background="@color/cardview_shadow_start_color"
android:id="@+id/content"
android:textColor="@color/black"/>
</LinearLayout>
MainActivity.kt
package com.example.myapplication
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat.startActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
class Item(var title:String,var content:String){}
class myAdapter(val list: ArrayList<Item>) :
RecyclerView.Adapter<myAdapter.ViewHolder>() {
inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val title: TextView = view.findViewById(R.id.title)
val content: TextView = view.findViewById(R.id.content)
init {
itemView.setOnClickListener {
val intent = Intent(itemView.context, open::class.java)
intent.putExtra("title", title.text)
intent.putExtra("content", content.text)
itemView.context.startActivity(intent)
}
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): myAdapter.ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.item, parent, false)
val viewHolder = ViewHolder(view)
return viewHolder
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val data = list[position]
holder.title.text = data.title
holder.content.text = data.content
}
override fun getItemCount(): Int {
return list.size
}
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
val list = ArrayList<Item>()
for(i in 1..50){
list.add(Item(i.toString(),"this is a content"))
}
val recyclerView: RecyclerView = findViewById(R.id.rv)
recyclerView.layoutManager = LinearLayoutManager(this)
recyclerView.adapter = myAdapter(list)
}
}
open.kt
package com.example.myapplication
import android.os.Bundle
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class open : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_open)
val title = intent.getStringExtra("title")
val content = intent.getStringExtra("content")
val textview1:TextView = findViewById(R.id.title)
val textview2:TextView = findViewById(R.id.content)
textview1.setText(title)
textview2.setText(content)
}
}