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

รับรายการที่คลิกและตำแหน่งใน RecyclerView หรือไม่


ตัวอย่างนี้สาธิตวิธีรับรายการที่ถูกคลิกและตำแหน่งของรายการใน RecyclerView

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

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

    

ในโค้ดด้านบนนี้ เราได้ทำการตรวจสอบแล้ว

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

แพ็คเกจ com.example.myapplication;นำเข้า android.annotation.TargetApi;นำเข้า android.os.Build;นำเข้า android.os.Bundle;นำเข้า android.support.v7.app.AppCompatActivity;นำเข้า android.support.v7.widget .DefaultItemAnimator;นำเข้า android.support.v7.widget.DividerItemDecoration;นำเข้า android.support.v7.widget.LinearLayoutManager;นำเข้า android.support.v7.widget.RecyclerView;นำเข้า android.support.v7.widget.Toolbar;นำเข้า android widget.TextView;import android.widget.Toast;import java.util.ArrayList; MainActivity คลาสสาธารณะขยาย AppCompatActivity { TextView text; ArrayList list =ใหม่ ArrayList<>(); RecyclerView ส่วนตัว recyclerView; customAdapter ส่วนตัว mAdapter; onClickInterface ส่วนตัว onclickInterface; @TargetApi (Build.VERSION_CODES.LOLLIPOP) @ แทนที่โมฆะสาธารณะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); แถบเครื่องมือแถบเครื่องมือ =(android.support.v7.widget.Toolbar) findViewById(R.id.appbarlayout_tool_bar); toolbar.setTitle("นี่คือแถบเครื่องมือ"); setSupportActionBar (แถบเครื่องมือ); onclickInterface =ใหม่ onClickInterface () { @ แทนที่โมฆะสาธารณะ setClick (int abc) { list.remove (abc); Toast.makeText(MainActivity.this,"Position is"+abc,Toast.LENGTH_LONG).show(); mAdapter.notifyDataSetChanged(); } }; recyclerView =(RecyclerView) findViewById (R.id.recycler_view); RecyclerView.LayoutManager mLayoutManager =ใหม่ LinearLayoutManager (getApplicationContext ()); recyclerView.setLayoutManager (mLayoutManager); recyclerView.setItemAnimator (DefaultItemAnimator ใหม่ ()); mAdapter =customAdapter ใหม่ (นี่ รายการ onclickInterface); recyclerView.setAdapter (mAdapter); recyclerView.addItemDecoration (ใหม่ DividerItemDecoration (recyclerView.getContext (), DividerItemDecoration.VERTICAL)); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); list.add("saramm"); list.add("กฤษณะ"); list.add("ปราด"); }}

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

แพ็คเกจ com.example.myapplication;นำเข้า android.content.Context;นำเข้า android.support.annotation.NonNull;นำเข้า android.support.v7.widget.RecyclerView;นำเข้า android.view.LayoutInflater;นำเข้า android.view.View นำเข้า android.view.ViewGroup นำเข้า android.widget.TextView นำเข้า java.util.ArrayList คลาสสาธารณะ customAdapter ขยาย RecyclerView.Adapter  { บริบทบริบท; ArrayList รายการ; onClickInterface onClickInterface; MyViewHolder คลาสสาธารณะขยาย RecyclerView.ViewHolder { ชื่อ TextView สาธารณะ; MyViewHolder สาธารณะ (ดูมุมมอง) { super (ดู); ชื่อเรื่อง =(TextView) view.findViewById(R.id.title); } } สาธารณะ customAdapter (บริบทบริบท รายการ ArrayList onClickInterface onClickInterface) { this.context =บริบท; this.list =รายการ; this.onClickInterface =onClickInterface; } @NonNull @Override สาธารณะ MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) { ดูรายการView =LayoutInflater.from (viewGroup.getContext ()).inflate (R.layout.list_row, viewGroup, false); ส่งคืน MyViewHolder ใหม่ (itemView); } @แทนที่โมฆะสาธารณะ onBindViewHolder(@NonNull MyViewHolder myViewHolder, int int สุดท้าย) { myViewHolder.title.setText(list.get(i)); myViewHolder.title.setOnClickListener ( View.OnClickListener ใหม่ () { @แทนที่โมฆะสาธารณะ onClick (ดู v) { onClickInterface.setClick (i); } }); } @Override int สาธารณะ getItemCount () { ส่งคืน list.size (); }}

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

<รุ่นก่อนหน้า>

ขั้นตอนที่ 6 − เพิ่มรหัสต่อไปนี้ใน src/ onClickInterface

แพ็คเกจ com.example.myapplication; ส่วนต่อประสานสาธารณะ onClickInterface { ถือเป็นโมฆะ setClick (int abc);}

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

รับรายการที่คลิกและตำแหน่งใน RecyclerView หรือไม่

คลิกที่ textview จะแสดงผลดังนี้

รับรายการที่คลิกและตำแหน่งใน RecyclerView หรือไม่