Rumah >Java >javaTutorial >Bagaimana untuk mengalih keluar Item daripada RecyclerView Menggunakan Butang Palang?
Mengalih keluar Item daripada RecyclerView Menggunakan Cross Button
Dalam penyesuai RecyclerView anda, anda perlu mengendalikan acara butang silang dan mengalih keluar item yang sepadan daripada set data. Berikut ialah versi penyesuai anda yang dipertingkatkan:
<code class="java">public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener { private ArrayList<String> mDataset; private static Context sContext; public MyAdapter(Context context, ArrayList<String> myDataset) { mDataset = myDataset; sContext = context; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.my_text_view, parent, false); ViewHolder holder = new ViewHolder(v); holder.mNameTextView.setOnClickListener(this); holder.mCrossButtonImageView.setOnClickListener(this); return holder; } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.mNameTextView.setText(mDataset.get(position)); } @Override public int getItemCount() { return mDataset.size(); } @Override public void onClick(View view) { ViewHolder holder = (ViewHolder) view.getTag(); if (view.getId() == holder.mCrossButtonImageView.getId()) { int position = holder.getAdapterPosition(); mDataset.remove(position); notifyItemRemoved(position); Toast.makeText(sContext, "Item " + holder.mNameTextView.getText() + " has been removed from list", Toast.LENGTH_SHORT).show(); } } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mNameTextView; public ImageView mCrossButtonImageView; public ViewHolder(View v) { super(v); mNameTextView = (TextView) v.findViewById(R.id.nameTextView); mCrossButtonImageView = (ImageView) v.findViewById(R.id.crossButton); } } }</code>
Kod ini menambahkan pendengar onClick pada butang pangkah, yang mengalih keluar item yang sepadan apabila diklik. Ambil perhatian bahawa getAdapterPosition() harus digunakan dan bukannya getPosition(), kerana getPosition() kini tidak digunakan lagi.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Item daripada RecyclerView Menggunakan Butang Palang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!