আমার কাছে একটি টেক্সটভিউ পাঠ্য বাক্স এবং একটি ক্রস বোতাম ইমেজভিউ সহ একটি পুনর্ব্যবহারযোগ্য ভিউ রয়েছে। আমার রিসাইক্লিউউয়ের বাইরে একটি বোতাম রয়েছে যা ক্রস বোতামটি চিত্র ভিউকে দৃশ্যমান / চলে গেছে।
আমি যখন আইটেম ক্রস বোতামটি চিত্র ভিউ টিপানো হয় তখন আমি পুনর্ব্যবহারযোগ্য থেকে একটি আইটেম সরিয়ে ফেলতে চাই।
আমার অ্যাডাপ্টার:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener, View.OnLongClickListener {
private ArrayList<String> mDataset;
private static Context sContext;
public MyAdapter(Context context, ArrayList<String> myDataset) {
mDataset = myDataset;
sContext = context;
}
@Override
public MyAdapter.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(MyAdapter.this);
holder.mNameTextView.setOnLongClickListener(MyAdapter.this);
holder.mNameTextView.setTag(holder);
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.mNameTextView.getId()) {
Toast.makeText(sContext, holder.mNameTextView.getText(), Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onLongClick(View view) {
ViewHolder holder = (ViewHolder) view.getTag();
if (view.getId() == holder.mNameTextView.getId()) {
mDataset.remove(holder.getPosition());
notifyDataSetChanged();
Toast.makeText(sContext, "Item " + holder.mNameTextView.getText() + " has been removed from list",
Toast.LENGTH_SHORT).show();
}
return false;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mNumberRowTextView;
public TextView mNameTextView;
public ViewHolder(View v) {
super(v);
mNameTextView = (TextView) v.findViewById(R.id.nameTextView);
}
}
}
আমার লেআউটটি হ'ল:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:id="@+id/layout">
<TextView
android:id="@+id/nameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:padding="5dp"
android:background="@drawable/greyline"/>
<ImageView
android:id="@+id/crossButton"
android:layout_width="16dp"
android:layout_height="16dp"
android:visibility="gone"
android:layout_marginLeft="50dp"
android:src="@drawable/cross" />
</LinearLayout>
আমার ক্রসবটন ইমেজভিউয়ের জন্য কীভাবে অনক্লিকের মতো কাজ করতে পারি? একটি ভাল উপায় আছে কি? পুরো আইটেমটি ক্লিক করে আইটেমটি সরানোর জন্য ক্লিক করুন? রিসাইক্লিউরভিউ সম্পাদনা করা প্রয়োজন এমন অবস্থানের একটি তালিকা দেখায়। সর্বোত্তম বাস্তবায়নের বিষয়ে যে কোনও প্রযুক্তিগত পরামর্শ বা মন্তব্য / পরামর্শগুলি প্রশংসিত হবে।