ตัวอย่างเบื้องต้นการใช้งาน Class ExpandableListView : Android
 

Tutorial :: Android :: ตัวอย่างการใช้งาน :: ตัวอย่างเบื้องต้นการใช้งาน Class ExpandableListView

ในบทความนี้ จะแสดงให้เห็นถึงตัวอย่างเบื้องต้นการใช้งาน Class ExpandableListView โดยจะแสดงให้เห็นถึงการเขียนคำสั่งภายใน Class Activity, การเขียนคำสั่งภายในไฟล์ XML Layout, และการประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml ดังนี้


การเขียนคำสั่งภายใน Class Activity

  • package nutt.me.activity;
  • import android.app.Activity;
  • import android.os.Bundle;
  • import android.view.Gravity;
  • import android.view.View;
  • import android.view.ViewGroup;
  • import android.widget.AbsListView;
  • import android.widget.BaseExpandableListAdapter;
  • import android.widget.ExpandableListView;
  • import android.widget.TextView;
  • public class MainActivity extends Activity
  • {
  • public void onCreate ( Bundle savedInstanceState )
  • {
  • super.onCreate ( savedInstanceState );
  • this.setContentView ( R.layout.activity_main );
  • String [ ] group = { "England", "Spain", "Italy" };
  • String [ ] [ ] children =
  • {
  • { "Manchester United", "Manchester City", "Liverpool" }
  • , { "Barcelona", "Real Mardrid", "Valencia" }
  • , { "AC Milan", "Inter Milan", "Lazio" }
  • };
  • MyExpadableAdapter adapter = new MyExpadableAdapter ( group, children );
  • ExpandableListView expandableListView = ( ExpandableListView ) this.findViewById ( R.id.expandablelistview );
  • expandableListView.setAdapter ( adapter );
  • expandableListView.expandGroup ( 0 );
  • }
  • protected class MyExpadableAdapter extends BaseExpandableListAdapter
  • {
  • private String [ ] group = null;
  • private String [ ] [ ] children = null;
  • public MyExpadableAdapter ( String [ ] group, String [ ] [ ] children )
  • {
  • this.group = group;
  • this.children = children;
  • }
  • public Object getChild ( int groupPosition, int childPosition )
  • {
  • return this.children [ groupPosition ] [ childPosition ];
  • }
  • public long getChildId ( int groupPosition, int childPosition )
  • {
  • return childPosition;
  • }
  • public View getChildView ( int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent )
  • {
  • AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams ( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT );
  • TextView textView = new TextView ( MainActivity.this );
  • textView.setLayoutParams ( layoutParams );
  • textView.setPadding ( 5, 5, 5, 5 );
  • textView.setText ( this.children [ groupPosition ] [ childPosition ] );
  • return textView;
  • }
  • public int getChildrenCount ( int groupPosition )
  • {
  • return this.children [ groupPosition ].length;
  • }
  • public Object getGroup ( int groupPosition )
  • {
  • return this.group [ groupPosition ];
  • }
  • public int getGroupCount ( )
  • {
  • return this.group.length;
  • }
  • public long getGroupId ( int groupPosition )
  • {
  • return groupPosition;
  • }
  • public View getGroupView ( int groupPosition, boolean isExpanded, View convertView, ViewGroup parent )
  • {
  • AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams ( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT );
  • TextView textView = new TextView ( MainActivity.this );
  • textView.setLayoutParams ( layoutParams );
  • textView.setGravity ( Gravity.CENTER );
  • textView.setPadding ( 18, 18, 18, 18 );
  • textView.setText ( this.group [ groupPosition ] );
  • return textView;
  • }
  • public boolean hasStableIds ( )
  • {
  • return true;
  • }
  • public boolean isChildSelectable ( int groupPosition, int childPosition )
  • {
  • return true;
  • }
  • }
  • }

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า คำสั่ง ExpandableListView expandableListView = ( ExpandableListView ) this.findViewById ( R.id.expandablelistview ); ในบรรทัดที่ 34 เป็นการสร้าง Object ExpandableListView และคำสั่ง expandableListView.setAdapter ( adapter ); ในบรรทัดที่ 36 เป็นการกำหนดรายการข้อมูลให้กับ ExpandableListView


การเขียนคำสั่งภายในไฟล์ XML Layout

  • <?xml version="1.0" encoding="utf-8"?>
  • <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent" >
  • <ExpandableListView
  • android:id="@+id/expandablelistview"
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent"
  • android:layout_centerHorizontal="true"
  • android:layout_centerVertical="true" />
  • </RelativeLayout>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า element <ExpandableListView> มี id คือ expandablelistview (ประกาศไว้ในบรรทัดที่ 7) ซึ่งถูกใช้อ้างอิงใน Class Activity ข้างต้น


การประกาศ Activity ไว้ภายในไฟล์ AndroidManifest.xml

  • <?xml version="1.0" encoding="utf-8"?>
  • <manifest ... >
  • <application ... >
  • <activity android:name="nutt.me.activity.MainActivity" ... >
  • <intent-filter>
  • <action android:name="android.intent.action.MAIN" />
  • <category android:name="android.intent.category.LAUNCHER" />
  • </intent-filter>
  • </activity>
  • </application>
  • </manifest>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า มีการประกาศ Activity ชื่อ MainActivity ที่อยู่ใน Package nutt.me.activity ไว้ภายในไฟล์ AndroidManifest.xml ในบรรทัดที่ 4


หน้าจอแสดงผลของ ตัวอย่างเบื้องต้นการใช้งาน Class ExpandableListView จากการเขียนคำสั่งข้างต้น

หน้าจอแสดงผลของ ตัวอย่างเบื้องต้นการใช้งาน Class ExpandableListView

จากรูปแสดงหน้าจอของ MainActivity

Download This Example

1 Comment

  • tree cs
    #1 Comment By tree cs เมื่อ 22 พฤษภาคม 2013 เวลา 21 นาฬิกา 56 นาที
    very goods
     

Comment Tutorial

 
 
 
 
Share This Topic Login with Facebook