Membuat
Aplikasi Menggunkan Listview dengan Menghubungkan 2 atau Lebih Activity
Setalah dipostingan sebelumnya
kita membahas cara pembuatan aplikasi bangun ruang dengan menggunakan button
disini kita akan mencoba membuat aplikasi tersebut dengan menggunakan listview
dan menghubungkna dengan beberapa activity dengan activity pertama dengan Login,
activity kedua dengan daftar menu atau daftar listnya, dan yang ketiga activity
program jalannya.
Sebelum itu mari kita
ulas dahulu apa itu listview dan apa perbedaannya dengan penggunaan button. ListView
adalah user interface pada Android yang menampilkan item-item dari sekumpulan
daftar yang tersusun berbaris ke bawah atau ke samping dengan tampilan yang
dapat scroll. ListView menampilkan item-item dari suatu Array atau List atau
Query Database yang dijadikan data model sebagai item dari ListView. Sedangkan button
adalah perangkat user interface pada Android yang berupa tombol. Atau button
menu adalah gabungan beberapa tombol yang dibuat secara tersusun kebawah atau
pun kesamping.
Itulah berpedaan dari dari menu menggunakan listview
dan menu menggunkan button dan mari langsung saja kita buat menu dengan
menggunkan listview tersebut, untuk pembuatan masih sama dengan kemaren dimana
aplikasi nantinya ada sedikit modifikasi dengan penambahan login dan daftar
menu menggunkan Listview dimana sebelumnya menggunakan button dan disini juga
terdapat penambahan menu dimana sebelumnya hanya ada
- ·
Kubus
- ·
Balok
- · Tabung
Dengan menngunkan list
view nantinya akan terdapat 10 bangun ruang yang akan dicantumkan diantaranya :
- ·
Kubus
- ·
Balok
- · Tabung
- · Limas SegiEmpat
- · Kerucut
- · Bola
- · Limas SegiTiga
- · Prisma SegiTiga
- · Prima SegiEmpat
- · Trapesium
Buka android studio > buat project baru dengan cara klik create new
project > beri nama project “Aplikasi Bangung Ruang” (disesuaikan) > tentukan target sdk nya> pilih empty
activity > lanjutkan sampai dengan finish.
Nah disini pembuatan
pertama membuat form login dengan sourch pada .xml nya
<RelativeLayout 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:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.example.jeyong05.menghitungbangunruang.MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="207dp"
android:layout_height="59dp"
android:text="Form Login"
android:textSize="30sp"
android:textStyle="normal|bold"
android:textAlignment="center"
tools:layout_editor_absoluteY="34dp"
tools:layout_editor_absoluteX="89dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="23dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/username"
android:hint="Username"
tools:layout_editor_absoluteY="135dp"
tools:layout_editor_absoluteX="40dp"
android:layout_marginTop="20dp"
android:layout_below="@id/textView"
android:layout_alignLeft="@+id/password"
android:layout_alignStart="@+id/password" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/password"
android:hint="Password"
tools:layout_editor_absoluteY="220dp"
tools:layout_editor_absoluteX="40dp"
android:layout_marginTop="20dp"
android:layout_below="@id/username"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="140dp"
android:layout_height="60dp"
android:text="Login"
android:id="@+id/Login"
tools:layout_editor_absoluteY="315dp"
tools:layout_editor_absoluteX="125dp"
android:layout_marginTop="45dp"
android:layout_below="@id/password"
android:layout_centerHorizontal="true" />
</RelativeLayout>
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.example.jeyong05.menghitungbangunruang.MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="207dp"
android:layout_height="59dp"
android:text="Form Login"
android:textSize="30sp"
android:textStyle="normal|bold"
android:textAlignment="center"
tools:layout_editor_absoluteY="34dp"
tools:layout_editor_absoluteX="89dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="23dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/username"
android:hint="Username"
tools:layout_editor_absoluteY="135dp"
tools:layout_editor_absoluteX="40dp"
android:layout_marginTop="20dp"
android:layout_below="@id/textView"
android:layout_alignLeft="@+id/password"
android:layout_alignStart="@+id/password" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/password"
android:hint="Password"
tools:layout_editor_absoluteY="220dp"
tools:layout_editor_absoluteX="40dp"
android:layout_marginTop="20dp"
android:layout_below="@id/username"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="140dp"
android:layout_height="60dp"
android:text="Login"
android:id="@+id/Login"
tools:layout_editor_absoluteY="315dp"
tools:layout_editor_absoluteX="125dp"
android:layout_marginTop="45dp"
android:layout_below="@id/password"
android:layout_centerHorizontal="true" />
</RelativeLayout>
Pada sourch .java nya untuk
mengaktifkan beberapa colom dan button maka ditulis seperti ini.
package com.example.jeyong05.menghitungbangunruang; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { EditText username; EditText password; Button Login; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); username = (EditText)findViewById(R.id.username); password = (EditText)findViewById(R.id.password); Login = (Button)findViewById(R.id.Login); Login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String usernameKey = username.getText().toString(); String passwordKey = password.getText().toString(); if (usernameKey.equals("Mahasiswa") && passwordKey.equals("qwerty")){ Toast.makeText(getApplicationContext(), "Login Sukses", Toast.LENGTH_SHORT).show(); Intent pasien = new Intent(MainActivity.this, DaftarBangun.class); startActivity(pasien); }else{ AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setMessage("Username atau Password Salah!") .setNegativeButton("Mohon Dicek Kembali", null).create().show(); } } }); } }
dari coding diatas maka akan tampak tampilan nantinya akan seperti iniberikut tampilan jika ada salah pada pengisian username atau passwordnyaPembuatan Menu dengan ListViewPembuatan ini bisa langsung klik New pada bar menu file>> pilih Activity >> pilih Empity Activity >> pada name activity isi kan “List Menu” (disesuaikan) >> pilih Finish.Nah pembutan list menu bisa langsung drag listview pada Legacy atau bisa juga dengan manual ketik pada .xml dengan sourch<RelativeLayout 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:layout_width="match_parent" android:layout_height="match_parent" tools:context=".DaftarBangun"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Daftar Bangun Ruang" android:textSize="20dp" android:textStyle="normal|bold" android:textAlignment="center" android:layout_marginTop="15dp" tools:layout_editor_absoluteY="34dp" tools:layout_editor_absoluteX="89dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"/> <ListView android:layout_marginTop="40dp" android:id="@+id/daftarbangun" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" /> </RelativeLayout>Dari coding xml diatas akan dihasilkan designnya seperti iniDari xml diatas belum sepenuhnya aktif maka untuk pengaktifan dan penamaan itemnya bisa ditulis pada .java dengan sourchpackage com.example.jeyong05.menghitungbangunruang; import android.app.Activity; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class DaftarBangun extends Activity { ListView listView; String [] Menu ={"Kubus", "Balok","Tabung","Limas SegiEmpat","Kerucut","Bola", "Limas SegiTiga","Prisma SegiTiga","Prisma SegiEmpat","Trapesium"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_daftar_bangun); listView=(ListView)findViewById(R.id.daftarbangun); ArrayAdapter adapsi = new ArrayAdapter(this,android.R.layout.simple_list_item_single_choice, Menu); listView.setAdapter(adapsi); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int item, long id) { String itemText = String.valueOf(listView.getItemIdAtPosition(item)); Toast.makeText(getBaseContext(), "Anda Memilih "+ itemText, Toast.LENGTH_LONG).show(); }); } }setelah penambahan coding diatas pada main.javanya maka akan dihasilkan seperti berikut.sedang untuk mengaktifkan beberapa listview untuk bisa berpindah ke activity yang disesuaikan bisa menambahkan codingan berikut pada public void onItemClik setelah codingan diatas :if(itemText.equals("Kubus")){ Intent tombol = new Intent(adapterView.getContext(),VolumeKubus.class); startActivityForResult(tombol,0); } else if(itemText.equals("Balok")){ Intent balok = new Intent(adapterView.getContext(),VolumeBalok.class); startActivityForResult(balok,0); }else if(itemText.equals("Tabung")){ Intent tabung = new Intent(adapterView.getContext(),VolumeTabung.class); startActivityForResult(tabung,0); }else if(itemText.equals("Limas SegiEmpat")){ Intent limas = new Intent(adapterView.getContext(), VolumeLimasSegiempat.class); startActivityForResult(limas,0); }else if(itemText.equals("Kerucut")) { Intent kerucut = new Intent(adapterView.getContext(), VolumeKerucut.class); startActivityForResult(kerucut, 0); }else if(itemText.equals("Bola")){ Intent bola = new Intent(adapterView.getContext(),VolumeBola.class); startActivityForResult(bola,0); }else finish();pada coding tersebut saya hubungkan dengan pembuatan aplikasi sebelumnyadimana saya membuat untuk menghitung volume bangun ruang. Dan jika saya kliksalah satu contoh saya pilih kubus maka akan muncul seperti ini.case ini jika pilih 'Kubus' pada menu listnyaPilih BalokPilih TabungSebagai contoh baru sampai Pilihan Tabung untuk pilihan selajutnya akan menyusul.Demikian ulasan pembuatan aplikasi menggunkan listview dengan menghubungkan 2 atau lebih activity dari saya ucapkan terima kasih.