آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

چگونگی تغییر فقط یک آیتم در RecyclerView

هادی بی غم  10 سال پیش  10 سال پیش
0 0

سلام 

 لطف می کنید روش یا منبعی واسه تغییر شکل فقط همون آیتمی که در 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 کن

0 0
تشکر (10 سال پیش)
+2 0
عالی بود یه سری تغییرات هم از روی کدهای شما به رسایکلر خودم دادم حتی در کنار کلیک سرعت اسکرول هم رفت بالا . از لطفتون سپاسگذارم (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .