Last Updated on 8 years by Mas Herdi
Halo semua, kali ini kita akan belajar elemen layout dasar lainnya, yaitu kita akan belajar bagaimana cara membuat CheckBox di Android menggunakan Android Studio. CheckBox yang akan kita buat ini akan mengikuti standar dari Android Material Design. Di Android, kita bisa menggunakan class “android.widget.CheckBox” untuk menampilkan CheckBox view. CheckBox sendiri biasa digunakan untuk menampilkan pilihan, dimana kita bisa memilih lebih dari satu (multiple choices), berbeda dengan Spinner atau RadioButton dimana kita hanya bisa memilih satu item saja (single choice).
Cara Membuat CheckBox di Android Menggunakan Android Studio (Material Design)
Oke, langsung saja, seperti biasa kita akan membuat project baru di Android Studio terlebih dahulu. Setelah itu pada file activity_main.xml kita ubah seperti berikut.:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pilih OS yang dipakai : " /> <CheckBox android:id="@+id/cb_windows" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Windows" /> <CheckBox android:id="@+id/cb_macos" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="Mac OS" /> <CheckBox android:id="@+id/cb_linux" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Linux OS" /> <Button android:id="@+id/bt_submit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Submit" /> </LinearLayout>
Jika ingin membuat CheckBox otomatis terpilih secara default, kita bisa menambahkan code
android:checked="true"
di dalam view CheckBox yang ingin dipilih secara otomatis, Pada kasus ini kita menambahkan pada pilihan MacOS, sehingga RadioButton dengan pilihan “Mac OS” akan otomatis terpilih secara default.
Setelah itu, kita langsung buka file MainActivity.java nya. Di situ kita akan menerapkan logicnya, yaitu kita bisa memilih/mencentang CheckBox yang mana saja, kemudian ketika kita klik tombol “Submit” maka akan muncul Toast yang berisi status dari semua CheckBox. Jika CheckBox nya kita centang/kita pilih, berarti statusnya true, namun jika tidak kita pilih maka statusnya false. Selain itu kita juga akan mengeset satu listener pada CheckBox Windows, yang akan memunculkan Toast ketika option Windows kita check/kita pilih. Kodenya seperti berikut :
/** * Created by Hafizh Herdi on 8/23/2016. */ public class TWOHLayoutCheckBox extends AppCompatActivity { private CheckBox cbWindows, cbMac, cbLinux; private Button btSubmit; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_checkbox); setCheckBoxListener(); setButtonListener(); } private void setCheckBoxListener() { cbWindows = (CheckBox) findViewById(R.id.cb_windows); cbWindows.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (((CheckBox) view).isChecked()) { Toast.makeText(TWOHLayoutCheckBox.this, "Ngga pingin pake Mac bro ? :)", Toast.LENGTH_LONG).show(); } } }); } private void setButtonListener() { cbWindows = (CheckBox) findViewById(R.id.cb_windows); cbMac = (CheckBox) findViewById(R.id.cb_macos); cbLinux = (CheckBox) findViewById(R.id.cb_linux); btSubmit = (Button) findViewById(R.id.bt_submit); btSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String status = "Windows check " + cbWindows.isChecked() + "\n MacOS check " + cbMac.isChecked() + "\n Linux check " + cbLinux.isChecked(); Toast.makeText(TWOHLayoutCheckBox.this,status, Toast.LENGTH_LONG).show(); } }); } }
Oke, tanpa babibu, langsung saja kita running dan demokan 🙂
Demo
Ok, urutannya mulai dari yang paling kiri, bisa kita lihat sejak awal state dari MacOS sudah tercentang karena kita set checked = true. Kemudian akan muncul toast ketika kita check pada option Windows. Yang terakhir, ketika kita klik tombol Submit, maka akan muncul semua status dari CheckBox di atas, apakah terpilih atau tidak.
That’s all ! Semoga membantu. ? Dan jangan lupa untuk clone project nya sebagai Android Studio module di GitHub saya, dengan terlebih dahulu follow dan star project tersebut. ?Silahkan bertanya di bagian komentar jika ada yang kurang jelas.