สร้าง ListView เปล่าๆ ไว้ที่ activity_main.xml
จากนั้นเพิ่มข้อมูลด้วยโค๊ด พร้อมใส่อีเวนท์คลิกที่ไอเทม setOnItemClickListener
แก้ไขโค๊ดทีไ่ฟล์ activity_main.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Click Me" /> <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="5dp" /> </LinearLayout> </android.support.constraint.ConstraintLayout> |
แก้ไขโค๊ดทีไ่ฟล์ MainActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
package com.phaisarn.jack.testlistapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button1 = findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "HelloWorld", Toast.LENGTH_SHORT).show(); } }); ArrayList arrayList = new ArrayList(); arrayList.add("Trace 1"); arrayList.add("Trace 2"); arrayList.add("Trace 3"); arrayList.add("Trace 4"); arrayList.add("Trace 5"); // Get reference of widgets from XML layout final ListView listView1 = (ListView) findViewById(R.id.listView1); // Create a List from String Array elements final List<String> fruits_list = new ArrayList<String>(arrayList); // Create an ArrayAdapter from List final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, fruits_list); // DataBind ListView with items from ArrayAdapter listView1.setAdapter(arrayAdapter); listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String selectedItem = parent.getItemAtPosition(position).toString(); Toast.makeText(getApplicationContext(), selectedItem, Toast.LENGTH_SHORT).show(); } }); } } |
ปล. ถ้า ListView นี้อยู่ใน Fragment อีกที ตรง Toast ให้เปลี่ยน จาก getApplicationContext()
เป็น getActivity()
1 |
Toast.makeText(getActivity(), selectedItem, Toast.LENGTH_SHORT).show(); |