๐ข๋ฆฌ์์ค ๋ช
์ ์ค๋ฅ๊ฐ ์๊ธธ ๋
: ์๋ฌธ์๋ก ์ฐ์!
๐ขpublic open fun makeText(p0: Context!, p1: CharSequence!, p2: Int): Toast! defined in android.widget.Toast
this ๋ค์ @"Activity์ด๋ฆ" ์
๋ ฅ
Toast.makeText(this@ContentListActivity, "ํด๋ฆญ ์ฑ๊ณต", Toast.LENGTH_SHORT).show()
Log.d("๋๋ฒ๊น
์ฉ ํ๊ทธ", items.toString())
<ContentListActivity\>
์ <activity_content_list.xml>
์์ฑ
<?xml version="1.0" encoding="utf-8"?>
<layout>
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".contentsList.ContentListActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ContentListActivity ํ๋ฉด"
android:textSize="25sp"
android:textStyle="bold"
android:textColor="#000000"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="20dp"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="80dp"/>
<ImageView
android:id="@+id/addBtn"
android:layout_width="150dp"
android:layout_height="50dp"
android:src="@drawable/siteadd_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginBottom="30dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
<content_rv_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:layout_height="260dp"
android:orientation="vertical">
<TextView
android:id="@+id/textArea"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:text="Text Area"
android:textSize="25sp"
android:textStyle="bold"
android:background="@drawable/text_stroke"
android:gravity="center"
android:layout_gravity="center"/>
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:src="@drawable/addplz" />
<ImageView
android:src="@drawable/bookmark_white"
android:layout_marginTop="10dp"
android:layout_gravity="center"
android:layout_width="30dp"
android:layout_height="30dp"/>
</LinearLayout>
<ContentRVAdpater>
์์ฑ
package com.example.recyclerview.contentsList
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.Adapter
import com.example.recyclerview.R
class ContentRVAdapter(val items : ArrayList<String>) : RecyclerView.Adapter<ContentRVAdapter.Viewholder>() {
//ViewHolder ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ด๊ธฐํ
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ContentRVAdapter.Viewholder{
val v = LayoutInflater.from(parent.context).inflate(R.layout.content_rv_item, parent, false)
return Viewholder(v)
}
//๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ViewHolder ์์ ๋ด์ฉ์ ์ฑ์์ค
override fun onBindViewHolder(holder: ContentRVAdapter.Viewholder, position: Int){
holder.bindItems(items[position])
}
//์ด ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ๋ฐํํด์ค
override fun getItemCount(): Int {
return items.size
}
//item์ ์๋ ๋ด์ฉ๋ฌผ์ ํ๋ํ๋ ์ฐ๊ฒฐํด์ค
inner class Viewholder(itemView : View) : RecyclerView.ViewHolder(itemView){
fun bindItems(item : String){
}
}
}
package com.example.recyclerview.contentsList
import android.app.DatePickerDialog
import android.database.DatabaseUtils
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.*
import androidx.appcompat.app.AlertDialog
import androidx.databinding.DataBindingUtil
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.recyclerview.R
import com.example.recyclerview.databinding.ActivityContentListBinding
class ContentListActivity : AppCompatActivity() {
private lateinit var binding : ActivityContentListBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_content_list)
binding = DataBindingUtil.setContentView(this, R.layout.activity_content_list)
val rv : RecyclerView = findViewById(R.id.rv)
val items = ArrayList<String>()
items.add("a") //์์์ 6๊ฐ ๊ฐ๋ค์ ๋ฃ์ด์ค ๊ฒ
items.add("b")
items.add("c")
items.add("c")
items.add("c")
items.add("c")
val rvAdapter = ContentRVAdapter(items)
rv.adapter = rvAdapter
rv.layoutManager = GridLayoutManager(this,2)
//์ฌํ์ง ์ถ๊ฐ ๋ฒํผ์ ๋๋ ์ ๋
binding.addBtn.setOnClickListener {
val builder = AlertDialog.Builder(this)
val dialogView = layoutInflater.inflate(R.layout.custom_dialog, null)
val dialogSite = dialogView.findViewById<EditText>(R.id.dialogSite)
val dialogCompanion = dialogView.findViewById<EditText>(R.id.dialogCo)
builder.setView(dialogView)
.setPositiveButton("ํ์ธ") { dialogInterface, i ->
/* ํ์ธ์ผ ๋ main์ View์ ๊ฐ์ dialog View์ ์๋ ๊ฐ์ ์ ์ฉ */
Log.d("TAG", dialogSite.text.toString())
Log.d("TAG", dialogCompanion.text.toString())
}
.setNegativeButton("์ทจ์") { dialogInterface, i ->
/* ์ทจ์์ผ ๋ ์๋ฌด ์ก์
์ด ์์ผ๋ฏ๋ก ๋น์นธ */
}
.show()
}
}
}