จากตัวอย่าง การใช้งาน ListActivity เบื้องต้น เราสามารถสร้าง List รายการขึ้นมาได้แต่ List รายการดังกล่าว ยังดูไม่ค่อยน่าสนใจเท่าไหร่ วันนี้เราจะมาลองใส่รูปดูครับ ก่อนอื่นดูหน้าตาโปรแกรมที่เสร็จแล้วก่อนครับ
<ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" />row.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/row" android:layout_width="match_parent" android:layout_height="match_parent" android:drawableLeft="@drawable/ico_gear" android:drawablePadding="10dp" android:gravity="center_vertical" />
MainActivity.java
package com.simplelist; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends ListActivity { final String[] fruit = {"Apple", "Banana", "Coconut", "Durian", "Guava", "Mango", "Mangosteen", "Rambutant"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setListAdapter(new ArrayAdapterในส่วนของ activity เรา extends ListActivity จากนั้นใช้ method setListAdapter โดยเรา new ArrayAdapter ด้วยการใช้ layout row และส่ง ตัวแปร fruit จากนั้นใน method onListItemClick ก็แสดงข้อความว่าเราคลิกรายการไหน แล้วรูปภาพมาจากไหน ?(this, R.layout.row, fruit)); } @Override public void onListItemClick(ListView lv, View v, int position, long id){ Toast.makeText(this, "You click " + fruit[position], Toast.LENGTH_SHORT).show(); } }
สังเกตใน row.xml นะครับเราใช้ TextView ตัวเดียวโดยกำหนดรูปภาพโดยใช้ drawableLeft และกำหนด drawablePadding เราสามารถกำหนดได้ว่าจะใช้รูปด้านไหนซ้าย ขวา ล่าง บน โดยใช้ drawableLeft, drawableRight, drawableBottom, drawableTop แล้วแต่ว่าเราจะใช้อันไหน
android:drawableLeft="@drawable/ico_gear" android:drawablePadding="10dp"ในตัวอย่างนี้เราสามารถใส่รูปภาพลงไปใน List ได้ แต่ถ้าหากเราต้องการให้แต่ละรายการแตกต่างกันออกไปล่ะ อ่านได้ในบทความหน้านะครับ