2023.7.29
1. ์ค๋น
- ์ด์ ๊ฒ์๋ฌผ(https://hibread.tistory.com/75)์ ์ฐ์ฅ์ ์ผ๋ก ์ฑ ์ ๋ณด๋ฅผ ๋ฐ์ ํ๋ฉด์ ์ถ๋ ฅํ ๋ ์ฌ์ฉํ ๋ฆฌ์ฌ์ดํ๋ฌ๋ทฐ๋ฅผ ํด๋ฆญํ์ ๋ ์ฑ ์ ๋ณด๊ฐ ๋ํ๋๋ ์กํฐ๋นํฐ๋ฅผ ๋ง๋ค ๊ฒ์ด๋ค.
- ์ด์ ์ ์ฌ์ฉํ ํ์ผ: BookAdapter.kt
- activity_second.xml, SecondActivity.kt
2. xml ์์ฑ
- activity_second.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".SecondActivity"> <ImageView android:id="@+id/imgView" android:layout_width="120dp" android:layout_height="120dp" android:background="#000000"/> <TextView android:id="@+id/textTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="์ฑ
์ ๋ชฉ"/> <TextView android:id="@+id/textAuthor" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="์ ์"/> <TextView android:id="@+id/textPulisher" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="์ถํ์ฌ"/> <TextView android:id="@+id/textPubDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="์ถ๊ฐ์ผ"/> <TextView android:id="@+id/textStory" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="์ค๊ฑฐ๋ฆฌ"/> </LinearLayout>

3. BookAdapter.kt ์ฝ๋ ์ถ๊ฐ
- ๋ฆฌ์ฌ์ดํ๋ฌ๋ทฐ์ ์์ดํ ์ ํด๋ฆญํ์ ๋ ๊ทธ ์์ดํ ์ ์ ๋ณด์ ํจ๊ป ์กํฐ๋นํฐ ์ด๋
import android.content.Intent import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide class BookAdapter(private var bookList: List<NaverBookItem>) : RecyclerView.Adapter<BookAdapter.BookViewHolder>() { ... override fun onBindViewHolder(holder: BookViewHolder, position: Int) { // ์ค์ ํ๋ฉด์ ๋ฐ์ดํฐ์ ๋ ์ด์์์ ์ฐ๊ฒฐ val book = bookList[position] holder.bind(book) // ์์ดํ
ํด๋ฆญ ์ด๋ฒคํธ holder.itemView.setOnClickListener { val intent = Intent(holder.itemView.context, SecondActivity::class.java) intent.putExtra("bookTitle", bookList[position].title) intent.putExtra("bookAuthor", bookList[position].author) intent.putExtra("bookPublisher", bookList[position].publisher) intent.putExtra("bookPubDate", bookList[position].pubdate) intent.putExtra("bookImgUrl", bookList[position].image) intent.putExtra("bookStory", bookList[position].description) ContextCompat.startActivity(holder.itemView.context, intent, null) } } ... }
4. SecondActivity.kt ์์ฑ
import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.ImageView import android.widget.TextView import com.bumptech.glide.Glide class SecondActivity : AppCompatActivity() { lateinit var imgView: ImageView lateinit var textTitle: TextView lateinit var textAuthor: TextView lateinit var textPublisher: TextView lateinit var textPubDate: TextView lateinit var textStory: TextView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_second) imgView = findViewById(R.id.imgView) textTitle = findViewById(R.id.textTitle) textAuthor = findViewById(R.id.textAuthor) textPublisher = findViewById(R.id.textPulisher) textPubDate = findViewById(R.id.textPubDate) textStory = findViewById(R.id.textStory) val title = intent.getStringExtra("bookTitle") val author = intent.getStringExtra("bookAuthor") val publisher = intent.getStringExtra("bookPubliser") val pubDate = intent.getStringExtra("bookPubDate") val imgUrl = intent.getStringExtra("bookImgUrl") val story = intent.getStringExtra("bookStory") Glide.with(this).load(imgUrl).into(imgView) textTitle.text = title textAuthor.text = author textPublisher.text = publisher textPubDate.text = pubDate textStory.text = story } }
๊ฒฐ๊ณผ