top of page

Cara Menggunakan Parcelable untuk Memindahkan Objek atau List dari Objek

  • M Faisal Mazidnianto
  • May 4, 2017
  • 2 min read

Awalnya saya ingin memindahkan suatu objek dari suatu fragment ke fragment yang lain, tetapi saat saya ingin memasukkan List dari objek yang saya ingin pindahkan ke dalam intent akan menimbulkan error. Solusi pertama yang saya buat adalah hanya memasukkan ke dalam intent string-string yang perlu untuk fragment lain tersebut, tetapi pada akhirnya saya merasa ini tidak baik karena sebenarnya yang kita butuhkan adalah objectnya bukan string-string dari isi objeknya. Oleh karena itu, saya mencari cara agar yang dipindahkan ke fragment lain adalah objeknya, dan akhirnya saya menemukan caranya yaitu menggunakan Parcelable.

Apakah Parcelable itu?

Parcelable adalah suatu interface yang memungkinkan suatu kelas/objek untuk bisa disimpan dan diambil kembali dari sebuah Parcel yang merupakan suatu kontainer untuk menampungnya.

Sebelum kita dapat menggunakan Parcelable kita harus membuat kelas yang ingin dimasukkan mengimplement Parcelable

[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"></v:stroke> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"></v:f> <v:f eqn="sum @0 1 0"></v:f> <v:f eqn="sum 0 0 @1"></v:f> <v:f eqn="prod @2 1 2"></v:f> <v:f eqn="prod @3 21600 pixelWidth"></v:f> <v:f eqn="prod @3 21600 pixelHeight"></v:f> <v:f eqn="sum @0 0 1"></v:f> <v:f eqn="prod @6 1 2"></v:f> <v:f eqn="prod @7 21600 pixelWidth"></v:f> <v:f eqn="sum @8 21600 0"></v:f> <v:f eqn="prod @7 21600 pixelHeight"></v:f> <v:f eqn="sum @10 21600 0"></v:f> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path> <o:lock v:ext="edit" aspectratio="t"></o:lock> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:437.25pt; height:258.75pt'> <v:imagedata src="file:///C:/Users/KUSNAN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png" o:title="putParcel"></v:imagedata> </v:shape><![endif][if !vml][endif]

Kemudian setelah implements Parcelable kita harus mengoveride metode Parcelablenya

Setelah melakukan kedua hal diatas kita bisa langsung menggunakan intent dengan parcelable, pertama kita put List berisi kelas yang telah di implements parcelable

Setelah kita masukkan ke dalam intent, kita dapat mengambil List tersebut di kelas lain

Demikian Penjelasan dari saya terimakasih

Salam,

M Faisal Mazidnianto


Comments


© 2017 by GoodangCode

Subscribe for Goodang Team Updates!

bottom of page