بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
چگونگی تغییر فقط یک آیتم در RecyclerView
سلام
لطف می کنید روش یا منبعی واسه تغییر شکل فقط همون آیتمی که در recyclerView با لمس روی آیتم اتفاق بیوفته بهم معرفی کنید
برای مثال می خوام با لمس هر آیتم نوشته ای که داخلش هست و مخفی (Gone) بوده از حالت مخفی در بیاد (Visible) بشه
برای این سوال 1 پاسخ وجود دارد.
مشاهده پاسخ صحیح
پاسخ به سوال
Rabbit
10 سال پیش
+4
0
پاسخ صحیح
اگه بصورت معمول recyclerView رو پیاده کرده باشید داخل کلاس adapter شکل زیر هست:
public class recyclerAdapter extends RecyclerView.Adapter<recyclerAdapter.MyViewHolder> {
private List<ListStruct> myList;
//adapter constructor
public recyclerAdapter(List<ListStruct> myList) {
this.myList = myList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
Context context = parent.getContext();
View itemView = LayoutInflater.from(context)
.inflate(R.layout.recycler_adapter, parent, false);
return new MyViewHolder(itemView);
}
//set each element of recycler
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
holder.mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
makeGone(holder.mTextView);
}
});
}
@Override
public int getItemCount() {
return myList.size();
}
//makes views gone
private void makeGone(View v) {
v.setVisibility(View.GONE);
}
public static class MyViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
ImageView mImageView;
public MyViewHolder(View view) {
super(view);
mTextView = (TextView) view.findViewById(R.id.textView);
mImageView = (ImageView) view.findViewById(R.id.imageView);
}
}
}
همونطور که میبینید توی onBindViewHolder به viewهایی که در myViewHolder تعریف شدن گفته شده هروقت رو imageview کلیک شد textview رو GONE کن
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .