SlideShare a Scribd company logo
Praktikum ANDROID 
ANDROID 
FOR 
BEGINNER MODUL 9 
! 
[ANDROID SPINNER CHECKBOX RADIO BUTTON] 
!!!!! 
SUDARYATNO 
yatnosudar@gmail.com | @dodulz | facebook : yatno.sudar 
Page "1 of "9
Praktikum ANDROID 
ANDROID SPINNER CHECKBOX RADIO BUTTON 
! 
Spinner 
Spinner atau bisa juga disebut combobox (dalam sebagian bahasa pemograman). Digunakan 
sebagai selected pemilihan cepat dengan item yang jumlahnnya banyak. 
script diatas digunakan untuk menampilkan widget spinner, di Android Layout XML. Kemudian 
kita membuat String array di strings.xml seperti berikut : 
string array diatas digunakan sebagai item dari spinner. 
Page "2 of "9 
<Spinner 
android:id="@+id/planets_spinner" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" /> 
<string-array name="planets_array"> 
<item>Mercury</item> 
<item>Venus</item> 
<item>Earth</item> 
<item>Mars</item> 
<item>Jupiter</item> 
<item>Saturn</item> 
<item>Uranus</item> 
<item>Neptune</item> 
</string-array>
Praktikum ANDROID 
Spinner spinner = (Spinner) findViewById(R.id.planets_spinner); 
! 
ArrayAdapter<CharSequence> adapter = 
ArrayAdapter.createFromResource(this, 
R.array.planets_array, android.R.layout.simple_spinner_item); 
! 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdow 
n_item); 
! 
spinner.setAdapter(adapter); 
code diatas digunakan untuk ngisi spinner dengan string array yang sudah kita daftarkan di 
strings.xml 
! 
CheckBox 
Checkbox digunakan pada form yang bersifat check. Bisa di pilih atau bisa juga tidak dan bersifat 
multiselect. 
Dan di activity kita bisa menggunakan action berikut : 
Page "3 of "9 
<CheckBox android:id="@+id/checkbox_meat" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/meat" 
android:onClick="onCheckboxClicked"/> 
<CheckBox android:id="@+id/checkbox_cheese" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/cheese" 
android:onClick="onCheckboxClicked"/> 
boolean checked = ((CheckBox) view).isChecked(); 
switch(view.getId()) { 
case R.id.checkbox_meat: 
if (checked) 
// action 
else 
// action 
break; 
case R.id.checkbox_cheese: 
if (checked) 
// action 
else 
// action 
break; 
}
Praktikum ANDROID 
Radio Button 
Radio button widget yang digunakan pada form bersifat selected one atau hanya dipilih salah 
satu dari beberapa radio button. Seperti contoh berikut ini. 
Code berikut digunakan untuk membuat radio button. RadioButton di linkupi oleh RadioGroup, 
tujuannya agar RadioButton yang ada di group hanya dapat dipilih salah satu saja. 
<?xml version="1.0" encoding="utf-8"?> 
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android" 
! 
Page "4 of "9 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical"> 
<RadioButton android:id="@+id/radio_pirates" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/pirates" 
android:onClick="onRadioButtonClicked"/> 
<RadioButton android:id="@+id/radio_ninjas" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/ninjas" 
android:onClick="onRadioButtonClicked"/> 
</RadioGroup> 
public void onRadioButtonClicked(View view) { 
boolean checked = ((RadioButton) view).isChecked(); 
switch(view.getId()) { 
case R.id.radio_pirates: 
if (checked) 
// Pirates are the best 
break; 
case R.id.radio_ninjas: 
if (checked) 
// Ninjas rule 
break; 
} 
}
Praktikum ANDROID 
PRAKTIKUM 
! Tujuan : membuat spinner, radio button, dan checkbox! 
Scope : Spinner, RadioButton CheckBox! ! 
1. Buat project baru! 
2. Buat code berikut di xml layout :! 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
Page "5 of "9 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > ! 
<RadioGroup 
android:id="@+id/radioGroup1" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_alignLeft="@+id/spinners_planet" 
android:layout_below="@+id/spinners_planet" 
android:orientation="vertical" > ! 
<RadioButton 
android:id="@+id/radio_pirates" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:onClick="onRadioButtonClicked" 
android:text="Bajak Laut" /> ! 
<RadioButton 
android:id="@+id/radio_ninjas" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:onClick="onRadioButtonClicked" 
android:text="Ninja" /> 
</RadioGroup> ! 
<Spinner 
android:id="@+id/spinners_planet" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_alignParentTop="true" 
android:layout_centerHorizontal="true" 
android:layout_marginTop="22dp" 
android:layout_marginBottom="22dp"/> !
Praktikum ANDROID 
3. Edit MainActivity.java! 
code berikut ini digunakan untuk menangkap inputan dari Spinner, RadioButton, dan Checkbox. 
Coba perhatikan di android XML di masing masing RadioButton dan Checkbox terdapat onClick! 
tujuannya agar di file java di buat method yang sama dengan nama di xml sebagai action dari 
RadioButton dan Checkbox 
Page "6 of "9 
<CheckBox 
android:id="@+id/checkbox_meat" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_alignLeft="@+id/radioGroup1" 
android:layout_below="@+id/radioGroup1" 
android:layout_marginTop="30dp" 
android:onClick="onCheckboxClicked" 
android:text="Bakso" /> 
! 
<CheckBox 
android:id="@+id/checkbox_cheese" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_alignLeft="@+id/radioGroup1" 
android:layout_below="@+id/checkbox_meat" 
android:onClick="onCheckboxClicked" 
android:text="Keju" /> 
! 
<Button 
android:id="@+id/button1" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_alignLeft="@+id/checkbox_cheese" 
android:layout_below="@+id/checkbox_cheese" 
android:layout_marginTop="49dp" 
android:text="Button" 
android:onClick="_onClick" /> 
! 
</RelativeLayout>
Praktikum ANDROID 
Page "7 of "9 
public class MainActivity extends Activity { 
private Spinner spiners_planet; 
private StringBuffer checkbox_result = new StringBuffer(); 
private String checkbox, radio_result = ""; ! 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
spiners_planet = (Spinner) findViewById(R.id.spinners_planet); ! 
ArrayAdapter<CharSequence> adapter = 
ArrayAdapter.createFromResource( 
this, R.array.planets_array, 
android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) 
; 
spiners_planet.setAdapter(adapter); 
} ! 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
// Inflate the menu; this adds items to the action bar if it is 
present. 
getMenuInflater().inflate(R.menu.main, menu); 
return true; 
} ! 
public void _onClick(View view) { 
Toast.makeText( 
MainActivity.this, 
"Spinner : " + 
spiners_planet.getSelectedItem().toString() 
+ " n" + "RadioButton : " + radio_result 
+ " n " 
+ "Checkbox : " + checkbox + " n ", 
Toast.LENGTH_LONG) 
.show(); 
checkbox_result = null; 
checkbox_result = new StringBuffer(); 
} ! 
public void onCheckboxClicked(View view) { 
boolean checked = ((CheckBox) view).isChecked(); 
switch (view.getId()) { 
case R.id.checkbox_meat: 
if (checked) 
checkbox_result.append("Bakso,"); 
break;
Praktikum ANDROID 
!! Tugas : ! ! 
1. Buat form biodata diri yang terdiri dari! 
1. Nama! 
2. Alamat! 
3. Jenis Kelamin (Spinner)! 
4. Hoby (CheckBox) dengan value (Olahraga, Memancing, Kuliner)! 
5. Pekerjaan (Spinner) dengan value (PNS, Swasta, Usaha Mandiri)! 
2. Tampilkan semua data tersebut di Activity lain dengan menggunakan Intent berparameter 
Page "8 of "9 
case R.id.checkbox_cheese: 
if (checked) 
checkbox_result.append("Keju,"); 
break; 
} 
checkbox = checkbox_result.toString(); 
} 
! 
public void onRadioButtonClicked(View view) { 
radio_result = ""; 
boolean checked = ((RadioButton) view).isChecked(); 
switch (view.getId()) { 
case R.id.radio_pirates: 
if (checked) 
radio_result = "Bajak Laut"; 
break; 
case R.id.radio_ninjas: 
if (checked) 
radio_result = "Ninja"; 
break; 
} 
} 
}
Praktikum ANDROID 
Page "9 of "9

More Related Content

What's hot

Membuat aplikasi mengenal tanaman obat tradisional
Membuat aplikasi mengenal tanaman obat tradisionalMembuat aplikasi mengenal tanaman obat tradisional
Membuat aplikasi mengenal tanaman obat tradisional
iswan_di
 
2016 06-11 Дмитрий Алексеенков. Android Data Binding
2016 06-11 Дмитрий Алексеенков. Android Data Binding2016 06-11 Дмитрий Алексеенков. Android Data Binding
2016 06-11 Дмитрий Алексеенков. Android Data Binding
Омские ИТ-субботники
 
Sq lite
Sq liteSq lite
Sq lite
iswan_di
 
Array
ArrayArray
Array
iswan_di
 
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Yuki Anzai
 
Pertemuan 10 network
Pertemuan 10 networkPertemuan 10 network
Pertemuan 10 network
heriakj
 
アプリを弄ってみる #3 #antama_ws
アプリを弄ってみる #3 #antama_wsアプリを弄ってみる #3 #antama_ws
アプリを弄ってみる #3 #antama_wsTakahiro Yoshimura
 
Codigos
CodigosCodigos
Nearby Messages API
Nearby Messages APINearby Messages API
Nearby Messages API
akkuma
 
Android Bootcamp Santa Fe GTUG
Android Bootcamp Santa Fe GTUGAndroid Bootcamp Santa Fe GTUG
Android Bootcamp Santa Fe GTUG
matiasmolinas
 
Codigos
CodigosCodigos
Codigos
elidetjc
 

What's hot (12)

Membuat aplikasi mengenal tanaman obat tradisional
Membuat aplikasi mengenal tanaman obat tradisionalMembuat aplikasi mengenal tanaman obat tradisional
Membuat aplikasi mengenal tanaman obat tradisional
 
2016 06-11 Дмитрий Алексеенков. Android Data Binding
2016 06-11 Дмитрий Алексеенков. Android Data Binding2016 06-11 Дмитрий Алексеенков. Android Data Binding
2016 06-11 Дмитрий Алексеенков. Android Data Binding
 
Sq lite
Sq liteSq lite
Sq lite
 
Array
ArrayArray
Array
 
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
 
Pertemuan 10 network
Pertemuan 10 networkPertemuan 10 network
Pertemuan 10 network
 
アプリを弄ってみる #3 #antama_ws
アプリを弄ってみる #3 #antama_wsアプリを弄ってみる #3 #antama_ws
アプリを弄ってみる #3 #antama_ws
 
Codigos
CodigosCodigos
Codigos
 
Nearby Messages API
Nearby Messages APINearby Messages API
Nearby Messages API
 
Android Bootcamp Santa Fe GTUG
Android Bootcamp Santa Fe GTUGAndroid Bootcamp Santa Fe GTUG
Android Bootcamp Santa Fe GTUG
 
Codigos
CodigosCodigos
Codigos
 
Codigos
CodigosCodigos
Codigos
 

Viewers also liked

Modul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android SudaryatnoModul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android SudaryatnoModul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoModul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoModul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android SudaryatnoModul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android Sudaryatno
Yatno Sudar
 
MVVM Core By GITS-Indonesia
MVVM Core By GITS-IndonesiaMVVM Core By GITS-Indonesia
MVVM Core By GITS-Indonesia
Yatno Sudar
 
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLiteCara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
creatorb dev
 
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaBelajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Agus Haryanto
 
Modul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android SudaryatnoModul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 7 - Android Sudaryatno
Modul praktikum 7 - Android SudaryatnoModul praktikum 7 - Android Sudaryatno
Modul praktikum 7 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoModul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android Sudaryatno
Yatno Sudar
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application development
Google
 
Laporan praktikum modul 4
Laporan praktikum modul 4Laporan praktikum modul 4
Laporan praktikum modul 4
Devi Apriansyah
 
Laporan praktikum ii visual
Laporan praktikum ii visualLaporan praktikum ii visual
Laporan praktikum ii visual
rahmi wahyuni
 
Laporan pratikum v mulmet
Laporan pratikum v mulmetLaporan pratikum v mulmet
Laporan pratikum v mulmet
rahmi wahyuni
 
Modul android
Modul android Modul android
Modul android
Yudi Wibisono
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoModul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 15 - Android Sudaryatno
Modul praktikum 15 - Android SudaryatnoModul praktikum 15 - Android Sudaryatno
Modul praktikum 15 - Android Sudaryatno
Yatno Sudar
 

Viewers also liked (20)

Modul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android SudaryatnoModul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android Sudaryatno
 
Modul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android SudaryatnoModul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android Sudaryatno
 
Modul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoModul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android Sudaryatno
 
Modul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoModul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android Sudaryatno
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android Sudaryatno
 
Modul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android SudaryatnoModul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android Sudaryatno
 
MVVM Core By GITS-Indonesia
MVVM Core By GITS-IndonesiaMVVM Core By GITS-Indonesia
MVVM Core By GITS-Indonesia
 
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLiteCara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
 
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaBelajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android Sederhana
 
Modul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android SudaryatnoModul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android Sudaryatno
 
Modul praktikum 7 - Android Sudaryatno
Modul praktikum 7 - Android SudaryatnoModul praktikum 7 - Android Sudaryatno
Modul praktikum 7 - Android Sudaryatno
 
Modul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoModul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android Sudaryatno
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application development
 
Laporan praktikum modul 4
Laporan praktikum modul 4Laporan praktikum modul 4
Laporan praktikum modul 4
 
Laporan praktikum ii visual
Laporan praktikum ii visualLaporan praktikum ii visual
Laporan praktikum ii visual
 
Laporan pratikum v mulmet
Laporan pratikum v mulmetLaporan pratikum v mulmet
Laporan pratikum v mulmet
 
Modul android
Modul android Modul android
Modul android
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android Sudaryatno
 
Modul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoModul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android Sudaryatno
 
Modul praktikum 15 - Android Sudaryatno
Modul praktikum 15 - Android SudaryatnoModul praktikum 15 - Android Sudaryatno
Modul praktikum 15 - Android Sudaryatno
 

More from Yatno Sudar

Slack Time
Slack TimeSlack Time
Slack Time
Yatno Sudar
 
Introduction Data Warehouse With BigQuery
Introduction Data Warehouse With BigQueryIntroduction Data Warehouse With BigQuery
Introduction Data Warehouse With BigQuery
Yatno Sudar
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform Apps
Yatno Sudar
 
Chatbot With Dialogflow
Chatbot With DialogflowChatbot With Dialogflow
Chatbot With Dialogflow
Yatno Sudar
 
Dialog Flow - GITS Indonesia
Dialog Flow - GITS IndonesiaDialog Flow - GITS Indonesia
Dialog Flow - GITS Indonesia
Yatno Sudar
 
Technical Feasibility For Product
Technical Feasibility For ProductTechnical Feasibility For Product
Technical Feasibility For Product
Yatno Sudar
 
Cloud Function For Firebase - GITS
Cloud Function For Firebase - GITSCloud Function For Firebase - GITS
Cloud Function For Firebase - GITS
Yatno Sudar
 
Modul praktikum 17 - Android Sudaryatno
Modul praktikum 17 - Android SudaryatnoModul praktikum 17 - Android Sudaryatno
Modul praktikum 17 - Android Sudaryatno
Yatno Sudar
 
Modul praktikum 14 - Android Sudaryatno
Modul praktikum 14 - Android SudaryatnoModul praktikum 14 - Android Sudaryatno
Modul praktikum 14 - Android Sudaryatno
Yatno Sudar
 

More from Yatno Sudar (9)

Slack Time
Slack TimeSlack Time
Slack Time
 
Introduction Data Warehouse With BigQuery
Introduction Data Warehouse With BigQueryIntroduction Data Warehouse With BigQuery
Introduction Data Warehouse With BigQuery
 
Introduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform AppsIntroduction Flutter for Create Multiplatform Apps
Introduction Flutter for Create Multiplatform Apps
 
Chatbot With Dialogflow
Chatbot With DialogflowChatbot With Dialogflow
Chatbot With Dialogflow
 
Dialog Flow - GITS Indonesia
Dialog Flow - GITS IndonesiaDialog Flow - GITS Indonesia
Dialog Flow - GITS Indonesia
 
Technical Feasibility For Product
Technical Feasibility For ProductTechnical Feasibility For Product
Technical Feasibility For Product
 
Cloud Function For Firebase - GITS
Cloud Function For Firebase - GITSCloud Function For Firebase - GITS
Cloud Function For Firebase - GITS
 
Modul praktikum 17 - Android Sudaryatno
Modul praktikum 17 - Android SudaryatnoModul praktikum 17 - Android Sudaryatno
Modul praktikum 17 - Android Sudaryatno
 
Modul praktikum 14 - Android Sudaryatno
Modul praktikum 14 - Android SudaryatnoModul praktikum 14 - Android Sudaryatno
Modul praktikum 14 - Android Sudaryatno
 

Modul praktikum 9 - Android Sudaryatno

  • 1. Praktikum ANDROID ANDROID FOR BEGINNER MODUL 9 ! [ANDROID SPINNER CHECKBOX RADIO BUTTON] !!!!! SUDARYATNO yatnosudar@gmail.com | @dodulz | facebook : yatno.sudar Page "1 of "9
  • 2. Praktikum ANDROID ANDROID SPINNER CHECKBOX RADIO BUTTON ! Spinner Spinner atau bisa juga disebut combobox (dalam sebagian bahasa pemograman). Digunakan sebagai selected pemilihan cepat dengan item yang jumlahnnya banyak. script diatas digunakan untuk menampilkan widget spinner, di Android Layout XML. Kemudian kita membuat String array di strings.xml seperti berikut : string array diatas digunakan sebagai item dari spinner. Page "2 of "9 <Spinner android:id="@+id/planets_spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <string-array name="planets_array"> <item>Mercury</item> <item>Venus</item> <item>Earth</item> <item>Mars</item> <item>Jupiter</item> <item>Saturn</item> <item>Uranus</item> <item>Neptune</item> </string-array>
  • 3. Praktikum ANDROID Spinner spinner = (Spinner) findViewById(R.id.planets_spinner); ! ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); ! adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdow n_item); ! spinner.setAdapter(adapter); code diatas digunakan untuk ngisi spinner dengan string array yang sudah kita daftarkan di strings.xml ! CheckBox Checkbox digunakan pada form yang bersifat check. Bisa di pilih atau bisa juga tidak dan bersifat multiselect. Dan di activity kita bisa menggunakan action berikut : Page "3 of "9 <CheckBox android:id="@+id/checkbox_meat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/meat" android:onClick="onCheckboxClicked"/> <CheckBox android:id="@+id/checkbox_cheese" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/cheese" android:onClick="onCheckboxClicked"/> boolean checked = ((CheckBox) view).isChecked(); switch(view.getId()) { case R.id.checkbox_meat: if (checked) // action else // action break; case R.id.checkbox_cheese: if (checked) // action else // action break; }
  • 4. Praktikum ANDROID Radio Button Radio button widget yang digunakan pada form bersifat selected one atau hanya dipilih salah satu dari beberapa radio button. Seperti contoh berikut ini. Code berikut digunakan untuk membuat radio button. RadioButton di linkupi oleh RadioGroup, tujuannya agar RadioButton yang ada di group hanya dapat dipilih salah satu saja. <?xml version="1.0" encoding="utf-8"?> <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android" ! Page "4 of "9 android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/radio_pirates" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pirates" android:onClick="onRadioButtonClicked"/> <RadioButton android:id="@+id/radio_ninjas" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/ninjas" android:onClick="onRadioButtonClicked"/> </RadioGroup> public void onRadioButtonClicked(View view) { boolean checked = ((RadioButton) view).isChecked(); switch(view.getId()) { case R.id.radio_pirates: if (checked) // Pirates are the best break; case R.id.radio_ninjas: if (checked) // Ninjas rule break; } }
  • 5. Praktikum ANDROID PRAKTIKUM ! Tujuan : membuat spinner, radio button, dan checkbox! Scope : Spinner, RadioButton CheckBox! ! 1. Buat project baru! 2. Buat code berikut di xml layout :! <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" Page "5 of "9 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > ! <RadioGroup android:id="@+id/radioGroup1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/spinners_planet" android:layout_below="@+id/spinners_planet" android:orientation="vertical" > ! <RadioButton android:id="@+id/radio_pirates" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="onRadioButtonClicked" android:text="Bajak Laut" /> ! <RadioButton android:id="@+id/radio_ninjas" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="onRadioButtonClicked" android:text="Ninja" /> </RadioGroup> ! <Spinner android:id="@+id/spinners_planet" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="22dp" android:layout_marginBottom="22dp"/> !
  • 6. Praktikum ANDROID 3. Edit MainActivity.java! code berikut ini digunakan untuk menangkap inputan dari Spinner, RadioButton, dan Checkbox. Coba perhatikan di android XML di masing masing RadioButton dan Checkbox terdapat onClick! tujuannya agar di file java di buat method yang sama dengan nama di xml sebagai action dari RadioButton dan Checkbox Page "6 of "9 <CheckBox android:id="@+id/checkbox_meat" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/radioGroup1" android:layout_below="@+id/radioGroup1" android:layout_marginTop="30dp" android:onClick="onCheckboxClicked" android:text="Bakso" /> ! <CheckBox android:id="@+id/checkbox_cheese" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/radioGroup1" android:layout_below="@+id/checkbox_meat" android:onClick="onCheckboxClicked" android:text="Keju" /> ! <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/checkbox_cheese" android:layout_below="@+id/checkbox_cheese" android:layout_marginTop="49dp" android:text="Button" android:onClick="_onClick" /> ! </RelativeLayout>
  • 7. Praktikum ANDROID Page "7 of "9 public class MainActivity extends Activity { private Spinner spiners_planet; private StringBuffer checkbox_result = new StringBuffer(); private String checkbox, radio_result = ""; ! @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spiners_planet = (Spinner) findViewById(R.id.spinners_planet); ! ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) ; spiners_planet.setAdapter(adapter); } ! @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } ! public void _onClick(View view) { Toast.makeText( MainActivity.this, "Spinner : " + spiners_planet.getSelectedItem().toString() + " n" + "RadioButton : " + radio_result + " n " + "Checkbox : " + checkbox + " n ", Toast.LENGTH_LONG) .show(); checkbox_result = null; checkbox_result = new StringBuffer(); } ! public void onCheckboxClicked(View view) { boolean checked = ((CheckBox) view).isChecked(); switch (view.getId()) { case R.id.checkbox_meat: if (checked) checkbox_result.append("Bakso,"); break;
  • 8. Praktikum ANDROID !! Tugas : ! ! 1. Buat form biodata diri yang terdiri dari! 1. Nama! 2. Alamat! 3. Jenis Kelamin (Spinner)! 4. Hoby (CheckBox) dengan value (Olahraga, Memancing, Kuliner)! 5. Pekerjaan (Spinner) dengan value (PNS, Swasta, Usaha Mandiri)! 2. Tampilkan semua data tersebut di Activity lain dengan menggunakan Intent berparameter Page "8 of "9 case R.id.checkbox_cheese: if (checked) checkbox_result.append("Keju,"); break; } checkbox = checkbox_result.toString(); } ! public void onRadioButtonClicked(View view) { radio_result = ""; boolean checked = ((RadioButton) view).isChecked(); switch (view.getId()) { case R.id.radio_pirates: if (checked) radio_result = "Bajak Laut"; break; case R.id.radio_ninjas: if (checked) radio_result = "Ninja"; break; } } }