Thursday, February 12, 2015

Belajar Android - ListView - AlertDialog dengan Toast

Karna mata ane ndak mau merem dan ternyata udah pagi aje, matahari udah nimbrung aje di barat, mulai perlahan menerangi bumi pertiwi.

Lanjut aje, Catatan ini menampilkan tentang alert dialog gitu yang muncul jika diklik pada menu listview. Disini kita menggunakan dialog singkat dengan  fungsi Toast.

Apa itu Toast?
Toast digunakan untuk menampilkan pesan yang setelah muncul kemudian akan menghilang dengan sendirinya  tanpa interaksi dengan pengguna. Fokus juga tetap pada aplikasi dan tidak berpindah ke Toast.  Kelebihan Toast adalah mudah untuk dibuat, sedangkan kelemahannya adalah pengguna dapat saja tidak melihat pesan yang ditampilkan  Toast.

Disini kita akan menerapkan Toast pada contoh listview pada catatan sebelumnya,jadi silahkan buka catatan sebelunya disini
Dan disini kita juga akan menerapkan judul pada baris akan berubah menjadi warna hitam. 
Oke lanjut aja dari pada panjang lebar ngejelasinnya..:) Pada kode listview sebelumnya, tambahkan kode berikut pada Class MainActivity berikut.

//handle
        lv.setClickable(true);
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
         @Override
         public void onItemClick(AdapterView parent, View viewRow, int posisi, long id){
          //ambil textView dalam row yang diklik dan ganti warna judul
          TextView tvJudul = (TextView) viewRow.findViewById(R.id.tvJudul);
          tvJudul.setTextColor(Color.BLACK);
          
          //ambil data pada posisi diklik dan tampilkan datanya
             ListData data = alData.get(posisi);
             Toast t = Toast.makeText(getBaseContext(), data.judul, Toast.LENGTH_SHORT);
             t.show();
         }
  });

Sehingga kode Lengkapnya di MainActivity  sebagai berikut:

package com.compositelistview.yonandroid;

import java.util.ArrayList;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
 
 ArrayList alData = new ArrayList();
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //isi Data
        alData.add(new ListData("Malioboro", "Pusat Belanja Di Jogja ini selalu Ramai, apalagi ketika masa-masa liburan "));
        alData.add(new ListData("Parangtritis", "Pantai yang terkenal dengan alam gaibnya, Nyi Roro Kidul, penguasa pantai selatan"));
        alData.add(new ListData("Keraton", "Keterangan"));
        alData.add(new ListData("Candi Prambanan", "Keterangan"));
       
        //setAdapter
        ListView lv =(ListView) findViewById(R.id.listJudul);
        DataAdapter adapter = new DataAdapter(this, R.layout.file_row, alData);
        lv.setAdapter(adapter);
        
        //handle
        lv.setClickable(true);
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
         @Override
         public void onItemClick(AdapterView parent, View viewRow, int posisi, long id){
          //ambil textView dalam row yang diklik dan ganti warna judul
          TextView tvJudul = (TextView) viewRow.findViewById(R.id.tvJudul);
          tvJudul.setTextColor(Color.BLACK);
          
          //ambil data pada posisi diklik dan tampilkan datanya
             ListData data = alData.get(posisi);
             Toast t = Toast.makeText(getBaseContext(), data.judul, Toast.LENGTH_SHORT);
             t.show();
         }
  });
        
    }
}

Sekarang Jalankan Program dan hasilnya terlihat seperti di Emulator gambar di bawah ini:
Pada Gambar Emulatator diatas terlihat jika diklik Pada Malioboro akan menampilkan dialog Malioboro yang ditunjuk oleh panah merah dibaawah. Dan warna Pada listview Judul Malioboro Berubah jadi warna Hitam.
Ok, Good Morning, Happy Fun coding.. Download Coding Here

0 komentar: