| 
           
            | 
  ListView - Android Widgets สำหรับ ListViewเป็น Widget   ที่ใช้สำหรับการแสดงข้อมูลหรือรายการต่าง ๆ ที่อยู่ในรูปแบบของ Array , ArrayList หรือจาก Database ของ SQLite มาแสดงในหน้า Android Form 
    |  
        ListView - Android Widgets Example       |  
 
  
 XML Syntax
 
     <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>
Example 1 การดึงข้อมูลจาก String ที่อยู่ในรูปแบบของ Array มาแสดงใน ListView
 
 
  
 ออกแบบหน้าจอ GraphicalLayout ด้วย Widget ตามรูป
 
 activity_main.xml (XML Layout)
 
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="56dp" >
    </ListView>
</RelativeLayout>
 MainActivity.java (Java Code)
 
 package com.myapp;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
import android.widget.ArrayAdapter;
public class MainActivity extends Activity {
	
    private static final String[] COUNTRIES = new String[] {
        "Belgium", "France", "Italy", "Germany", "Spain"
    };
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        // listView1
        final ListView lisView1 = (ListView)findViewById(R.id.listView1); 
       
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, COUNTRIES);
        
        lisView1.setAdapter(adapter);
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    
}
 Screenshot
 
 
  
 แสดงข้อมูลใน ListView
 
 
 
 
 Example 2 การใช้ ListView กับ extends  ของคลาส ListActivity และการอ่านข้อมูลได้จากการเลือกใน ListView
 
 
  
 ออกแบบหน้าจอ GraphicalLayout ด้วย Widget ตามรูป
 
 activity_main.xml (XML Layout)
 
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</RelativeLayout>
 MainActivity.java (Java Code)
 
 package com.myapp;
import android.os.Bundle;
import android.app.ListActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import android.widget.TextView;
public class MainActivity extends ListActivity {
	
	public void onCreate(Bundle icicle) {
		super.onCreate(icicle);
	    String[] COUNTRIES = new String[] {
	        "Belgium", "France", "Italy", "Germany", "Spain"
	    };
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_1, COUNTRIES);
		setListAdapter(adapter);
		
		ListView lsView = getListView();
		 lsView.setTextFilterEnabled(true);
 
		 lsView.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
			    // When clicked, show a toast with the TextView text
				String selected = (String) ((TextView) view).getText();
			    Toast.makeText(getApplicationContext(),
			    		selected, Toast.LENGTH_SHORT).show();
			}
		});
		
	}
} 
 Screenshot
 
 
  
 การแสดงข้อมูลใน ListView และการเลือกข้อมูลใน ListView
 
 
 
 
 Example 3 การใช้ ListView กับ Multiple Column หรือแสดง ListView หลาย Column หรือแบบ Custom Layout
 
 โดยในตัวอย่างนี้จะใช้ XML Layout อยู่ 2 ไฟล์คือ activity_main.xml และ activity_column.xml
 
 
  
 - activity_main.xml  เป็นไฟล์ Activity หลัก
 
 
  
 ออกแบบหน้าจอ GraphicalLayout ด้วย Widget ตามรูป
 
 โดยไฟล์  activity_column.xml เป็น Layout แบบ Custom Layout
 
 activity_main.xml (XML Layout)
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="horizontal"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="0.1">   
   
   <ListView
       android:id="@+id/listView1"
       android:layout_width="match_parent"
       android:layout_height="wrap_content">
   </ListView>
	        
</LinearLayout>
 
 - activity_column.xml  เป็นไฟล์ Layout สำหรับ Column
 
 
  
 activity_column.xml (XML Layout)
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/linearLayout1" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent" >
	<TextView
	android:id="@+id/ColMemberID" 
		android:layout_width="0dp"
		android:layout_height="wrap_content" 
		android:layout_weight="1"
		android:text="MemberID"/>
	<TextView
		android:id="@+id/ColName" 
		android:layout_width="0dp"
		android:layout_height="wrap_content" 
		android:layout_weight="2"
		android:text="Name"/>
	<TextView
	    android:id="@+id/ColTel"
	    android:layout_width="0dp"
	    android:layout_height="wrap_content"
	    android:layout_weight="1"
	    android:text="Tel" />
</LinearLayout>
 
 MainActivity.java (Java Code)
 
 package com.myapp;
import java.util.ArrayList;
import java.util.HashMap;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
	
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        // listView1
        final ListView lisView1 = (ListView)findViewById(R.id.listView1); 
        
		ArrayList<HashMap<String, String>> MyArrList = new ArrayList<HashMap<String, String>>();
		HashMap<String, String> map;
		
		/*** Rows 1 ***/
		map = new HashMap<String, String>();
		map.put("MemberID", "1");
		map.put("Name", "Weerachai");
		map.put("Tel", "0819876107");
		MyArrList.add(map);
		
		/*** Rows 2 ***/
		map = new HashMap<String, String>();
		map.put("MemberID", "2");
		map.put("Name", "Win");
		map.put("Tel", "021978032");
		MyArrList.add(map);		
       
        SimpleAdapter sAdap;
        sAdap = new SimpleAdapter(MainActivity.this, MyArrList, R.layout.activity_column,
                new String[] {"MemberID", "Name", "Tel"}, new int[] {R.id.ColMemberID, R.id.ColName, R.id.ColTel});      
        lisView1.setAdapter(sAdap);
        
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
    
}
 ในตัวย่างใช้ Array แบบ HashMap ซึ่งมีอยู่ 2 Column คือ MemberID, Name, Tel และกำหนดรูปแบบ Column และ Layout จากคำสั่ง ที่อยู่ในไฟล์ Custom Layout ของ activity_column.xml
 
 
         SimpleAdapter sAdap;
        sAdap = new SimpleAdapter(MainActivity.this, MyArrList, R.layout.activity_column,
                new String[] {"MemberID", "Name", "Tel"}, new int[] {R.id.ColMemberID, R.id.ColName, R.id.ColTel});      
        lisView1.setAdapter(sAdap);
 มีการ Map ตัว Data และ Column ที่อยู่ใน
 
 Screenshot
 
 
  
 การแสดงข้อมูลใน ListView  แบบหลาย Column
 
 
 
 
                
                  | Property & Method (Others Related) |  
 
 |  
            | 
			 ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท 
 |  
 
 
 
          
            | 
                
                  |  |  
                  |  | By : | ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |  
                  |  | Score Rating : |     |  |  
                  |  | Create/Update Date : | 2012-07-01 16:14:51            /
            2012-08-11 17:02:23 |  
                  |  | Download : | No files |  |  
         
          | 
              
                | Sponsored Links / Related |  |  
          | 
 |  |   
          |  |  
 |   |