Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

จะเพิ่มอะแดปเตอร์แบบกำหนดเองสำหรับ listView ของฉันบน Android ได้อย่างไร


ตัวอย่างนี้สาธิตวิธีการเพิ่มอะแดปเตอร์แบบกำหนดเองสำหรับ listView ของฉันใน Android

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

  

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

นำเข้า android.os.Bundle;นำเข้า android.support.v7.app.AppCompatActivity;นำเข้า android.widget.ListView;นำเข้า java.util.ArrayList;คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { ListView listView; ArrayList arrayList =ใหม่ ArrayList<>(); อะแดปเตอร์ MyAdapter; @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); listView =findViewById (R.id.listView); arrayList.add(MyData ใหม่(1, " Mashu","987576443")); arrayList.add(ใหม่ MyData(2, " Azhar","8787576768")); arrayList.add(MyData ใหม่(3, " Niyaz","65757657657")); อะแดปเตอร์ =MyAdapter ใหม่ (นี่, arrayList); listView.setAdapter (อะแดปเตอร์); }}

ขั้นตอนที่ 4 − สร้างคลาส java (MyData.java) และเพิ่มโค้ดต่อไปนี้

<ก่อน> MyData คลาสสาธารณะ { ส่วนตัว int serialNum; ชื่อสตริงส่วนตัว สตริงส่วนตัว mobileNumber; MyData สาธารณะ (int num, ชื่อสตริง, สตริง mobileNumber) { this.serialNum =num; this.name =ชื่อ; this.mobileNumber =mobileNumber; } สาธารณะ int getNum () { ส่งคืน serialNum; } โมฆะสาธารณะ setNum (int num) { this.serialNum =num; } สตริงสาธารณะ getName() { ชื่อกลับ; } โมฆะสาธารณะ setName (ชื่อสตริง) { this.name =ชื่อ; } สตริงสาธารณะ getMobileNumber () { ส่งคืน mobileNumber; } โมฆะสาธารณะ setMobileNumber (String mobileNumber) { this.mobileNumber =mobileNumber; }}

ขั้นตอนที่ 5 − สร้างคลาส java (MyAdapter.java) และเพิ่มรหัสต่อไปนี้ -

นำเข้า android.content.Context;นำเข้า android.view.LayoutInflater;นำเข้า android.view.View;นำเข้า android.view.ViewGroup;นำเข้า android.widget.BaseAdapter;นำเข้า android.widget.TextView;นำเข้า java.util ArrayList; MyAdapter คลาสสาธารณะขยาย BaseAdapter { บริบทบริบทส่วนตัว; ArrayList ส่วนตัว arrayList; TextView serialNum ส่วนตัว, ชื่อ, contactNum; MyAdapter สาธารณะ (บริบทบริบท ArrayList  arrayList) { this.context =บริบท; this.arrayList =arrayList; } @Override สาธารณะ int getCount () { ส่งคืน arrayList.size (); } @Override วัตถุสาธารณะ getItem (ตำแหน่ง int) { ตำแหน่งกลับ; } @Override สาธารณะ long getItemId (ตำแหน่ง int) { ตำแหน่งกลับ; } @แทนที่มุมมองสาธารณะ getView (ตำแหน่ง int, ดู convertView, พาเรนต์ ViewGroup) { convertView =LayoutInflater.from (บริบท).inflate (R.layout.row, parent, false); serialNum =convertView.findViewById(R.id.serailNumber); ชื่อ =convertView.findViewById(R.id.studentName); contactNum =convertView.findViewById(R.id.mobileNum); serialNum.setText(" " + arrayList.get(ตำแหน่ง).getNum()); name.setText(arrayList.get(ตำแหน่ง).getName()); contactNum.setText(arrayList.get(ตำแหน่ง).getMobileNumber()); กลับ convertView; }}

ขั้นตอนที่ 6 − สร้างไฟล์ทรัพยากรเลย์เอาต์ (row.xml) และเพิ่มรหัสต่อไปนี้ -

   

ขั้นตอนที่ 7 − เพิ่มรหัสต่อไปนี้ใน androidManifest.xml

     <หมวดหมู่ android:name=" android.intent.category.LAUNCHER" />   

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์แล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก แล้วตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ -

จะเพิ่มอะแดปเตอร์แบบกำหนดเองสำหรับ listView ของฉันบน Android ได้อย่างไร