ตัวอย่างการดักเหตุการณ์เมื่อมีการคลิก Item ใน ListView : Android
 

Tutorial :: Android :: ตัวอย่างการใช้งาน :: ตัวอย่างการดักเหตุการณ์เมื่อมีการคลิก Item ใน ListView

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


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

  • package nutt.me.activity;
  •  
  • import android.app.Activity;
  • import android.os.Bundle;
  • import android.view.View;
  • import android.widget.AdapterView;
  • import android.widget.ArrayAdapter;
  • import android.widget.ListView;
  • import android.widget.Toast;
  •  
  • public class MainActivity extends Activity
  • {
  • public void onCreate ( Bundle savedInstanceState )
  • {
  • super.onCreate ( savedInstanceState );
  •  
  • this.setContentView ( R.layout.activity_main );
  •  
  •  
  • String [ ] list = getResources ( ).getStringArray ( R.array.listview_list );
  •  
  • ArrayAdapter < String > dataAdapter = new ArrayAdapter < String > ( this, android.R.layout.simple_list_item_multiple_choice, list );
  •  
  •  
  • ListView listview = ( ListView ) this.findViewById ( R.id.listview );
  •  
  • listview.setAdapter ( dataAdapter );
  •  
  • listview.setChoiceMode ( ListView.CHOICE_MODE_MULTIPLE );
  •  
  • listview.setOnItemClickListener ( new AdapterView.OnItemClickListener ( )
  • {
  • public void onItemClick ( AdapterView < ? > parent, View view, int position, long id )
  • {
  • Object item = parent.getItemAtPosition ( position );
  •  
  • String label = item.toString ( );
  •  
  •  
  • ListView listView = ( ListView ) view.getParent ( );
  •  
  • if ( listView.isItemChecked ( position ) )
  • {
  • Toast toast = Toast.makeText ( MainActivity.this, "Checked " + label, Toast.LENGTH_LONG );
  •  
  • toast.show ( );
  • }
  • else
  • {
  • Toast toast = Toast.makeText ( MainActivity.this, "UnChecked " + label, Toast.LENGTH_LONG );
  •  
  • toast.show ( );
  • }
  • }
  • }
  • );
  • }
  • }

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า คำสั่ง ListView listview = ( ListView ) this.findViewById ( R.id.listview ); ในบรรทัดที่ 25 เป็นการสร้าง Object ListView โดยการไปค้นหามาจาก XML Layout และคำสั่ง listview.setOnItemClickListener ( ); ในบรรทัดที่ 31 เป็นการดักเหตุการณ์ว่าจะให้เกิดการทำงานใด ๆ เมื่อมีการเลือก Item ใน ListView


การเขียนคำสั่งภายในไฟล์ 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">
  •  
  • <ListView
  • android:id="@+id/listview"
  • android:layout_width="fill_parent"
  • android:layout_height="wrap_content" />
  •  
  • </RelativeLayout>

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


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

  • <?xml version="1.0" encoding="utf-8"?>
  • <resources>
  •  
  • <string name="app_name">ListView</string>
  •  
  • <string-array name="listview_list">
  • <item>Blue</item>
  • <item>Green</item>
  • <item>Brown</item>
  • </string-array>
  •  
  • </resources>

จากคำสั่งข้างต้น สามารถอธิบายได้ว่า ให้ตั้งชื่อไฟล์คือ strings.xml และจัดเก็บไว้ใน Resource Folder ชื่อ "res/values"


การประกาศ 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


หน้าจอแสดงผลของ ตัวอย่างการดักเหตุการณ์เมื่อมีการคลิก Item ใน ListView จากการเขียนคำสั่งข้างต้น

หน้าจอแสดงผลของ ตัวอย่างการดักเหตุการณ์เมื่อมีการคลิก Item ใน ListView

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

หน้าจอแสดงผลของ ตัวอย่างการดักเหตุการณ์เมื่อมีการคลิก Item ใน ListView

จากรูปแสดงหน้าจอของ MainActivity เมื่อเลือก Item "Blue"

หน้าจอแสดงผลของ ตัวอย่างการดักเหตุการณ์เมื่อมีการคลิก Item ใน ListView

จากรูปแสดงหน้าจอของ MainActivity เมื่อยกเลิกการเลือก Item "Blue"

Download This Example

0 Comment

  • Have no comment.

Comment Tutorial

 
 
 
 
Share This Topic Login with Facebook