Skip to main content

Membuat datalist tampil pada listview dan recyclerview di kotlin

Hii, Salam sejahtera Kuy' kali ini kita akan membuat satu aplikasi sederhana menggunakan kotlin, yang biasanya pakai java untuk depelov android, untuk beralih di kotlin itu enak banget, itu karena bahasa kotlin itu sederhana banget. oh iya kesempatan kali ini kita akan membahas gimana membuat aplikasi sederhana menampilkan data array di listview dan recylerview,
aplikasi sangat sederhana ya.
ok langsung saja buat project baru anda di kotlin, jangan lupa di convert dulu ke bahasa kotlin untuk yang mengguanakan androi studio versi 2.3.3 -.

kita akan perlu file seperti dibawah ini





untuk itu sediakan file gambar yang anda inginkan jika inginkan di letakan di folder drawable  :
file MainActivity
import android.content.Intent
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        btnlistview.setOnClickListener{            actionPindah(SimpleActivity())
        }        btnrecylerview.setOnClickListener{            actionPindah(RecylerActivity())
        }
    }

    private fun actionPindah(simpleActivity: Any) {
        startActivity(Intent(applicationContext,simpleActivity::class.java))


    }
}


File CustomAdapter
import android.app.Activity
import android.content.Intent
import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView

/** * Created by Server on 22/08/2017. */class CustomAdapter :RecyclerView.Adapter<CustomAdapter.Myholder> {
    var c : Activity? =null    var databuah2 : Array<String>?=null    var datagamabr : Array<Int>?=null    constructor(recylerActivity: RecylerActivity, dataBuah: Array<String>, dataGambar: Array<Int>)
    {
        c = recylerActivity
        databuah2 = dataBuah
        datagamabr = dataGambar
    }
        //set data ke recylerview    override fun onBindViewHolder(holder: Myholder?, position: Int) {
        //manggil dan set data        holder?.txt?.text = databuah2?.get(position)
        holder?.img?.setImageResource(datagamabr?.get(position)!!)

        holder?.img?.setOnClickListener{
            var intent = Intent(c,DetailBuah::class.java)
            intent.putExtra("txt",databuah2?.get(position))
            intent.putExtra("img",datagamabr?.get(position))
            c?.startActivity(intent)
        }


        //TODO("not implemented") //To change body of created functions use File | Settings | File Templates.    }
//mencreate pada layout list item    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): Myholder {
        var view = LayoutInflater.from(c).inflate(R.layout.list_item,parent,false)
        return Myholder(view)

        //TODO("not implemented") //To change body of created functions use File | Settings | File Templates.    }
    //tampilkan data    override fun getItemCount(): Int {
        //return data gmbr        return databuah2?.size!!
        //TODO("not implemented") //To change body of created functions use File | Settings | File Templates.    }

    //deklarasi id pada customAdapter, id yang ada pada list_item    class Myholder(itemView: View?) : RecyclerView.ViewHolder(itemView) {
    var txt : TextView?= itemView?.findViewById(R.id.namabuah)
        var img : ImageView?= itemView?.findViewById(R.id.imglsitietm)


    }

}

File DetailBuah
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_detail_buah.*

class DetailBuah : AppCompatActivity() {

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

        //membuat variabel dan di tangkap data dri intent        var tangkap = intent.getStringExtra("txt")
        var tangkap2 = intent.getIntExtra("img",0)

        //menangkap data intent dan di set ke layout        detailtxt.text = tangkap
        imgdetail.setImageResource(tangkap2)
    }
}

File SimpleActiivty
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.ArrayAdapter
import kotlinx.android.synthetic.main.activity_simple.*
import java.util.*

class SimpleActivity : AppCompatActivity() {
    var dataArray = arrayOf("10","50","80","40","100","30","-10","70","60")

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_simple)
        Arrays.sort(dataArray)
        var adapter = ArrayAdapter(SimpleActivity@this, android.R.layout.simple_list_item_1,dataArray)
         listview.adapter= adapter
    }
}

File RecylerActivity
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.activity_recyler.*

class RecylerActivity : AppCompatActivity() {
    //deklarasi    var dataBuah = arrayOf("alpukat","durian","jambuair","manggis","strawberry")
    var dataGambar= arrayOf(R.drawable.alpukat,R.drawable.durian,R.drawable.jambuair,
                            R.drawable.manggis,R.drawable.strawberry)

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

        //custom adapter, nnt dibuatkan constructor nnti akan di buat contrut di custom adpater        var adapter = CustomAdapter(this, dataBuah, dataGambar)
        //buat layout manaager        var liner = LinearLayoutManager(applicationContext)
        //manggil listnya        recylerview.adapter = adapter
        recylerview.layoutManager=liner

    }
}


Hasil Gambar 







Link Donwload Project Disini








Comments

Popular posts from this blog

Contact Person

Hello Semua, bagi yang ingin menanyakan persoalan isi content yang saya telah post bisa menghubungi saya di daftar kontak saya dibawah ini : Whatsap  0853-9803-8073 Email       Basriumar12@gmail.com Group Belajar Android LINK GROUP WHATSAP   http://bit.ly/2x3H0oT  full kuota LINK GORUP TELEGRAM  http://bit.ly/2knZ5gu

Belajar listview dan Spinner

ListView  adalah tampilan beberapa item dalam bentuk list yang dapat di  scroll  secara vertikal. Setiap item akan otomatis dimasukkan kedalam  list  menggunakan  Adapter  yang datanya di ambil dari array/database/json/dsb.  ListView  sering digunakan dalam aplikasi Android, seperti kontak, email, twitter, dsb. Spinner View adalah list dari item pada saat tertentu dan membolehkan user untuk memilihnya. Secara sederhana Spinner View akan menyediakan cara cepat untuk memilih salah satu dari nilai set. Dalam keadaan default, Spinner menunjukkan nilai yang sedang dipilih. Ketika user menyentuh spinner view maka aplikasi akan menampilkan menu dengan semua nilai-nilai lain yang tersedia, sehingga user dapat memilih item yang baru. Adapter  adalah jembatan antara dan  AdapterView  (contohnya ListView) dengan data. Adapter inilah yang menyediakan akses ke item data dan juga bertanggung jawab untuk membuat sebuah View pad...

Membuat Aplikasi Ramalan Cuaca Menggunakan Kotlin 2017

Hallo Kuy, Masih sehat dengan Codingganya? semoga tetap sehat dan enggak muntah-muntah dalam belajar pemmogramman, pada artikel kali ini saya akan membahas tentang Kotlin, materi ini saya dapatkan waktu mengikuti workshop di kantor Go-jek, materi ini diberikan oleh salah satu Depelover Google Expert Indonesia yaitu Sidiq Permana dan di workshop juga ada Mobile Engginernya Gojek, teman-teman engginer java dan lain lain yang ingin berhijrah ke kotlin, kenapa sih kotlin? iya, Google kedepan akan menjadikan bahasa kotlin itu menjadi bahasa utama untuk android, itu nanti ya. motivasi belajar proggraming Pada artikel yang akan saya share yaitu bukan project buatan saya, akan tetapi projectnya Sidiq permana, yang mana dalam projectnya mengimplementasikan konsep MVP pada projectnya. Apa itu MVP ?  baca disini  lebih lengkap. untuk anda yang pemula atau yang ingin hijrah ke kotlin bisa belajar di link bawah ini dasar kotlin android untuk membuat perhitungan luas segitiga...