Sunday, April 28, 2013

Android Tutorial : Click Event pada ListView Item

Seorang teman bertanya kepada saya cara membuat item-item menu pada tampilan ListView Android seperti gambar di bawah ini
jika nama perusahaan yang ditampilkan pada ListView tersebut diklik akan ditampilkan Activity baru.
Saya akan membagi sedikit pengalaman saya dalam menangani kasus sejenis itu.
Saya membuat project Android sederhana yang mendekati kasus tersebut.
Saya buat MainActivity yang menampilkan nama-nama operating system, saya extends class MainActivity dari ListActivity untuk membuat tampilan ListView sederhana.
Source code class MainActivity adalah sebagai berikut
package tutorial.listview;

import android.os.Bundle;
import android.app.ListActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends ListActivity {
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  String[] values = new String[] { "Android", "iPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", "Linux", "OS/2" };
      ArrayAdapter adapter = new ArrayAdapter(MainActivity.this,
android.R.layout.simple_list_item_1, values);
      setListAdapter(adapter);
 }
}
Jika project dijalankan, kita akan mendapatkan sebuah program yang menampilkan list operating system seperti gambar di bawah ini

Kemudian, saya ingin agar jika nama operating system di list tersebut diklik akan ditampilkan Intent baru, caranya adalah dengan menambahkan method berikut di class MainActivity
public void onListItemClick(ListView l, View v, int position, long id) {
//New Intent Here
}
Di bagian //New Intent Here dari method di atas tersebut nanti kita akan mencoding Activity baru yang akan muncul.
Source code class MainActivity akan menjadi seperti berikut
package tutorial.listview;

import android.os.Bundle;
import android.app.ListActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends ListActivity {
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
          "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
          "Linux", "OS/2" };
      ArrayAdapter adapter = new ArrayAdapter(MainActivity.this,
android.R.layout.simple_list_item_1, values);
      setListAdapter(adapter);
 }
 
 public void onListItemClick(ListView l, View v, int position, long id) {
     //New Intent Here
 }
}
Kemudian buat sebuah Activity baru yang nantinya akan muncul setelah nama operating system di tampilan ListView diklik. Saya beri nama class NewActivity untuk Activity tersebut dengan source code berikut
package tutorial.listview;

import android.app.Activity;
import android.os.Bundle;

public class NextActivity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.next_activity);
 }
}
Kemudian buat layout untuk NextActivity, saya beri nama layoutnya next_menu.xml dengan isi sebagai 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" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="nama_OS"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>
Terakhir, kita lengkapi method untuk menampilkan NewActivity, ganti baris //New Intent Here yang ada di class MainActivity dengan code berikut
Intent i = new Intent(MainActivity.this, NextActivity.class);
startActivity(i);
sehingga class MainActivity lengkapnya akan menjadi
package tutorial.listview;

import android.os.Bundle;
import android.app.ListActivity;
import android.content.Intent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends ListActivity {
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  String[] values = new String[] { "Android", "iPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", "Linux", "OS/2" };
      ArrayAdapter adapter = new ArrayAdapter(MainActivity.this,
android.R.layout.simple_list_item_1, values);
      setListAdapter(adapter);
 }
 
 public void onListItemClick(ListView l, View v, int position, long id) {
  Intent i = new Intent(MainActivity.this, NextActivity.class);
  startActivity(i);
 }
}
Pastikan NextActivity sudah ditambahkan sebagai activity di AndroidManifest.xml
<activity
   android:name="tutorial.listview.NextActivity"
   android:label="@string/app_name">
</activity>
Selanjutnya coba jalankan program.
Saat salah satu nama operating system diklik, misalnya Android

Setelah itu akan muncul Activity baru

[postingan ini masih akan diupdate lagi setelah mendapat feedback]
Kita bisa juga melempar parameter dari satu Activity ke Activity berikutnya, insya Allah akan saya bahas di kesempatan lain

sumber:
http://www.vogella.com/articles/AndroidListView/article.html


UPDATE
Karena ada yang menanyakan source code main.xml saya, ini saya tambahkan gan
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    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" >

    <ListView
        android:id="@+id/ls_lvMenu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>


Tuesday, April 23, 2013

Asrika Films : Intip (Informasi Titipan) - Perseteruan Eyang Busur dan Arif Wagunya

Perseteruan eyang Busur dengan mantan muridnya terus menuai perhatian publik. Baru-baru ini Arif Wagunya, seorang mantan murid eyang Busur melampiaskan kemarahannya yang meledak-ledak di depan media. Bagaimanakah akhir kisah perseteruan paling heboh di tahun 2013 ini? Akankah eyang Busur berdamai dengan mantan muridnya?


Sunday, April 14, 2013

Surat dari Jakarta : Pengalaman Berobat ke RS Gigi dan Mulut Pendidikan FKG UI (1)

Kalau temen saya si Didin punya "Surat dari Majene" yang ditulis di Majalah Embun, saya nulis "Surat dari Jakarta" :D. Inilah tulisan pertama saya tentang pengalaman selama terdampar di ibu kota.
Sehat itu mahal, karena kalau sakit seringkali lebih sakit mbayarnya. Termasuk sakit gigi, apalagi di Jakarta yang semua mahal.
Singkat cerita saya mengalami sakit gigi yang cukup parah karena gaya hidup yang tidak sehat. Waktu kecil suka makan permen, sampai sekarang masih suka makan yang manis-manis walau ga sering.
Tapi nasi sudah menjadi lontong, gigi saya banyak yang sudah berlubang. Sampai saya mengalami bengkak di gusi bagian atas yang membuat saya ngeri karena pipi nampak lebih tebal.
ardhi.web.id. Powered by Blogger.