ตัวอย่างนี้สาธิตวิธีการสร้าง Horizontal ListView ใน Android
ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่
กรุณาเพิ่มการพึ่งพาด้านล่างใน Gradle -
การใช้งาน 'com.android.support:recyclerview-v7:28.0.0'implementation 'com.android.support:cardview-v7:28.0.0'
ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml
ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java
<ก่อนหน้า>นำเข้า androidx.appcompat.app.AppCompatActivity;นำเข้า androidx.recyclerview.widget.LinearLayoutManager;นำเข้า androidx.recyclerview.widget.RecyclerView;นำเข้า android.os.Bundle;นำเข้า java.util.ArrayList;นำเข้า java.util.Arrays;คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { RecyclerView recyclerView; RecyclerView.LayoutManager layoutManager; RecyclerView.Adapter อะแด็ปเตอร์; ArrayListขั้นตอนที่ 4 − สร้างคลาส java (MyAdapter.java) และเพิ่มรหัสต่อไปนี้ -
นำเข้า android.content.Context;นำเข้า android.content.Intent;นำเข้า android.view.LayoutInflater;นำเข้า android.view.View;นำเข้า android.view.ViewGroup;นำเข้า android.widget.ImageView;นำเข้า android.widget TextView;นำเข้า android.widget.Toast;นำเข้า java.util.ArrayList;นำเข้า androidx.recyclerview.widget.RecyclerView;คลาส MyAdapter ขยาย RecyclerView.Adapter{ ArrayList ส่วนตัว numberName; ArrayList ส่วนตัว<จำนวนเต็ม> numberImage; บริบทบริบทส่วนตัว MyAdapter (บริบทบริบท ArrayList numberName, ArrayList numberImage) { super (); this.context =บริบท; this.numberName =numberName; this.numberImage =numberImage; } @ แทนที่ ViewHolder สาธารณะ onCreateViewHolder (ViewGroup viewGroup, int i) { View v =LayoutInflater.from (viewGroup.getContext ()) .inflate (R.layout.gridlayout, viewGroup, เท็จ); ส่งคืน ViewHolder ใหม่ (v); } @แทนที่โมฆะสาธารณะ onBindViewHolder (ViewHolder viewHolder, int i) { viewHolder.textView.setText (numberName.get (i)); viewHolder.imgThumbnail.setImageResource(numberImage.get(i)); มุมมองโฮลเดอร์.imgThumbnail.setImageResource(numberImage.get(i)); viewHolder.setClickListener (ItemClickListener ใหม่ () { @แทนที่โมฆะสาธารณะ onClick (ดูมุมมอง ตำแหน่ง int isLongClick บูลีน) { ถ้า (isLongClick) { Toast.makeText (บริบท "#" + ตำแหน่ง + " - " + numberName.get ( position) + " (Longclick)", Toast.LENGTH_SHORT).show(); context.startActivity(new Intent(context, MainActivity.class)); } else { Toast.makeText(บริบท, "#" + ตำแหน่ง + " - " + numberName.get(ตำแหน่ง), Toast.LENGTH_SHORT).show(); } } }); } @Override สาธารณะ int getItemCount () { ส่งคืน numberName.size (); } คลาสคงที่สาธารณะ ViewHolder ขยาย RecyclerView.ViewHolder ใช้ View.OnClickListener, View.OnLongClickListener { ImageView imgThumbnail; TextView textView; รายการ ClickListener ส่วนตัว clickListener; ViewHolder (ดู itemView) { super (itemView); imgThumbnail =itemView.findViewById(R.id.imgThumbnail); textView =itemView.findViewById (R.id.textView); itemView.setOnClickListener(นี้); itemView.setOnLongClickListener(นี้); } เป็นโมฆะ setClickListener (ItemClickListener itemClickListener) { this.clickListener =itemClickListener; } @แทนที่โมฆะสาธารณะ onClick (ดูมุมมอง) { clickListener.onClick (ดู, getPosition (), เท็จ); } @แทนที่บูลีนสาธารณะ onLongClick (ดูมุมมอง) { clickListener.onClick (ดู, getPosition () จริง); คืนค่าจริง; } }}
ขั้นตอนที่ 5 − สร้างไฟล์ทรัพยากรเลย์เอาต์และโค้ดต่อไปนี้ในรายการ
ขั้นตอนที่ 6 − สร้างอินเทอร์เฟซ (ItemClickListener.java) และเพิ่มรหัสต่อไปนี้ -
นำเข้า android.view.View; อินเทอร์เฟซ ItemClickListener { โมฆะ onClick (ดูมุมมอง, ตำแหน่ง int, isLongClick บูลีน); }
ขั้นตอนที่ 7 − เพิ่มรหัสต่อไปนี้ใน androidManifest.xml
<หมวดหมู่ android:name=" android.intent.category.LAUNCHER" />
มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิก Run ไอคอนจากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก แล้วตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ -