memulai-belajar-android-studio-bahasa-indonesia

Mengirim value ke Activity lain di Android Studio (Kotlin)

Ada saatnya kita perlu mengirim atau passing sebuah value ke activity lainnya dan dari yang sudah dipelajari sebelumnya kita sudah bisa berpindah ke Activity lain dengan menggunakan intent.

Seperti sebelumnya kita tetap akan menggunakan intent namun ada sedikit penambahan saat mendeklarasikannya, yaitu kita tambahkan putExtra, penulisannya menjadi seperti ini.

fun nama_method(view: View) {
        val isiteks = editText_value1.text.toString() 
        val pindah = Intent(this, NamaActivity::class.java).apply {
            putExtra("judul_value",isi_teks)
        }
        startActivity(pindah)
    }

Kemudian untuk menerima value tadi, pada activity yang dituju dituliskan seperti ini

val valuemasuk = intent.getStringExtra("judul_value")
        val cetakteks = findViewById<TextView>(R.id.NamaTextView).apply{
            text = valuemasuk
        }

Percobaan

Untuk mencobanya kita buat kembali project baru atau gunakan yang sudah ada, lalu buat dua buah activity.

  • ActivitySatu berisikan Edit teks dan Button
  • ActivityDua berisikan TextView.

ActivitySatu

Pertama kita desain di file .xml, sederhana saja kurang lebih seperti ini :

intent-value-ke-activity-lain-android-studio
Rancangan UI pada Activity Pertama

Dan jangan lupa edittext, button dan textview diberi id yang mudah diingat biar gampang saat dipanggil nantinya.

Dibagian button kita tambahkan juga onClick dan beri nama yang nantinya akan menjalankan method di ActivitySatu.kt.

onclick-intent-value-ke-activity-lain-android-studio
Memberikan fungsi pada tombol

Kemudian dibagian file AcitivitySatu.kt kita tambahkan juga method yang berisikan intent yang mengirim value dari string yang ada di edittext, nama methodnya sesuaikan dengan yang kita buat di .xml tadi.

const val EXTRA_PESAN = "com.example.ContohAndroid.PESAN"

class ActivitySatu : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_satu)
    }

    fun kirimValue(view: View) {
        val isiteks = editText_value1.text.toString()
        val pindah = Intent(this, ActivityDua::class.java).apply {
            putExtra(EXTRA_PESAN ,isiteks)
        }
        startActivity(pindah)
    }
}

ActivityDua

Di ActivityDua ini cukup kita buat satu buah textView saja untuk menerima value string kiriman dari ActivitySatu tadi.

Dan juga textview kita beri id seperti biasa.

Di file ActivityDua.kt kita tambahkan syntax untuk menerima value kirimannya seperti berikut :

val valuemasuk = intent.getStringExtra(EXTRA_MESSAGE)
        val cetakteks = findViewById<TextView>(R.id.textView_terima).apply{
            text = valuemasuk
        }

val valuemasuk = intent.getStringExtra(EXTRA_MESSAGE) menyimpan isi intent dari activity sebelumnya ke dalam sebuah variabel valuemasuk.

Kemudian di baris val cetakteks kita membuat teksView agar menampilkan isi value intent yang sudah kita simpan di variabel valuemasuk tadi.

Jika ada error di baris val cetakteks itu karena kita belum mengimport widget textView, silahkan tambahkan syntax berikut di barisan import.

import android.widget.TextView

Oke sepertinya semua activity sudah beres kita buat, next tinggal kita build dan jalankan di device atau emulator.

Kalau tidak ada error kurang lebih hasilnya akan seperti ini :

Leave a Reply

Your email address will not be published. Required fields are marked *