〈kotlin〉Android studio使い方メモ15:RecyclerView(タッチイベント追加)
金宏和實さんの「作ればわかる!Androidプログラミング kotlin対応」を参考に
Android studioでkotlinを使ってAndroidアプリ作成。
RecyclerViewの使い方をまとめたものの続き。
〈kotlin〉Android studio使い方メモ10:RecyclerView - ゆるプログラミング日記
RecyclerViewのデータをタップすると編集画面に遷移してデータ編集できるようにする。
(編集画面には元々入っていたデータがあらかじめ入っていて欲しい。)
データの受け渡し
画面の受け渡しにIntentを使用し、
これを合わせて画面の中の値をputExtraで渡す。
val intent = Intent(this, EditActivity::class.java) intent.putExtra("key", value)
データを受け取る側では、getExtraを使用する。
val getId = intent.getLongExtra("key") //Longの部分はデータの型にあわせて変更する
実装したコード
recyclerviewのデータのタップと組み合わせて書いてみる。
RecyclerView.adapter継承クラス内
override fun onBindViewHolder(holder:ViewHolder, position:Int){ //省略 holder.itemView.setOnClickListener{ val intent = Intent(it.context, EditActivity::class.java) intent.putExtra("id", todoData?.id) it.context.startActivity(intent) } }
EditActivity.kt onCreate()内
val getId = intent.getLongExtra("id", 0L) //0Lはデフォルト値 val data = DataList[getId] //受け取ったidを利用してデータリストの中からidと一致するデータを抽出する //dataはtextという変数を1つ持つクラスのオブジェクトとする val editText = findViewById<TextView>(R.id.textview) editText.setText(data?.text.toString()) //編集画面のeditText内に取得したtextをセットする