Setelah itu, kita buat kode di dalam Class Activity-nya, supaya dapat berfungsi. Definisikan view spinner di atas method onCreate supaya bisa diakses. Lalu assign dengan view di layout Tentukan data yang berbentuk Array atau ArrayList: Buat adapter array untuk menjembatani antara sumber data dengan adapter view. Isikan tiga (3) parameter construct dengan (context: this, layout view, data) Terakhir, sambungkan view dengan data menggunakan adapater tersebut. Berikut kode lengkapnya Layout xml: Kode class activity java:<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="64dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_title_spinner" />
Spinner spinner;
spinner = findViewById(R.id.spinner) //sesuaikan dengan id di layoutnya
String[] buahs = {"Mangga", "Semangka", "Jeruk", "Apel"};
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this,
android.R.layout.simple_spinner_item, //Menggunakan bawaan android
buahs
);
spinner.setAdapter(adapter);
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SpinnerActivity">
<TextView
android:id="@+id/tv_title_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="64dp"
android:textStyle="bold"
android:textSize="20sp"
android:text="Pilih yang kamu suka"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="64dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_title_spinner" />
</androidx.constraintlayout.widget.ConstraintLayout>
package id.my.matsoleh.belajar;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class SpinnerActivity extends AppCompatActivity {
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner);
// Tentukan View
spinner = findViewById(R.id.spinner);
// Sumber Data
String[] buahs = {"Mangga", "Pisang", "Apel", "Jeruk", "Semangka"};
// Adapter
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this,
android.R.layout.simple_spinner_item,
buahs
);
// Apply adapter
spinner.setAdapter(adapter);
}
}
Blog
-
Belajar Android: #99 Membuat Widget Spinner
-
Belajar Membuat Aplikasi Android: #97 Checkbox
Checkbox merupakan komponen widget view yang digunakan memungkinkan pengguna memilih satu atau lebih pilihan.
Langkah-langkah membuat checkbox:
Pada bagian layout tambahkan widget Checkbox, berikan id, text, tentukan constraint width dan height. Sesuaikan dengan desain kita sendiri.
<CheckBox android:id="@+id/cb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="52dp" android:text="Setuju?" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" />
Di bagian Activity tambahkan kode untuk menangani view tersebut. Definisikan view dengan kode:
CheckBox checkBox;
Lalu di dalam method onCreate tambahkan kode untuk menginisialisasi view tersebut.
checkBox = findById(R.id.cb1) // id di layout
Tambahkan event listener untuk menghandle event checked/unchecked yang berupa Boolean.
checkBox.setOnCheckedChangeListener(new CompoundButton.onCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // } }
Itulah cara membuat Checkbox di Android Studio.
Full Code:
Layout XML:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".CheckBoxActivity"> <TextView android:id="@+id/tv_check_box" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="68dp" android:text="Check Box" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <CheckBox android:id="@+id/cb1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="52dp" android:text="Setuju?" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/tv_check_box" /> <TextView android:id="@+id/tv_cb_agree" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" android:text="Saya tidak setuju" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/cb1" /> </androidx.constraintlayout.widget.ConstraintLayout>
Kode Activity (java):
package id.my.matsoleh.belajar; import android.content.Intent; import android.os.Bundle; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.TextView; import android.widget.Toast; import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowInsetsCompat; public class CheckBoxActivity extends AppCompatActivity { TextView tvCheckBox, tvAgree; CheckBox cb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_check_box); tvCheckBox = findViewById(R.id.tv_check_box); cb = findViewById(R.id.cb1); tvAgree = findViewById(R.id.tv_cb_agree); Intent intent = getIntent(); tvCheckBox.setText(intent.getStringExtra("message")); cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked){ Toast.makeText(CheckBoxActivity.this, "Anda Setuju", Toast.LENGTH_SHORT).show(); tvAgree.setText("Saya Setuju"); } else { Toast.makeText(CheckBoxActivity.this, "Anda tidak Setuju", Toast.LENGTH_SHORT).show(); tvAgree.setText("Saya Tidak Setuju"); } } }); } }
-
Belajar Membuat Aplikasi Android:Sepatah kata
Disclaimer: Tulisan ini merupakan catatan belajar untuk mengingatkan materi yang dipelajari, ada banyak kekurangan dan kesalahan. Jangan dijadikan referensi.
Android sebagai sistem operasi yang paling banyak terdapat pada berbagai gadget seperti smart phone, smart tv, IOT menarik perhatian saya untuk belajar. Apalagi sistem operasi ini bersifat open source dan gratis, sehingga banyak sekali komunitas dan orang-orang yang berbagi pengetahuan tentangnya.
Saya tertarik belajar mengembangkan aplikasi berbasis Android karena menurut saya banyak sekali potensi yang dapat digali untuk memanfaatkan smart phone Android sebagai alat bantu belajar bagi peserta didik dalam belajar.
Tulisan pada blog ini saya bagi menjadi banyak bagian untuk memudahkan saya menemukan materi ketika dalam praktiknya saya mengalami kesulitan. Konten tulisan berasal dari pemahaman dan hasil elaborasi saya ketika mengikuti kursus di udemy. Oleh karena itu, mungkin bagian-bagian itu menyesuaikan dengan struktur kursus yang saya ikuti.