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.
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