بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تغییر دادن یک آیتم خاص از ریسایکلر ویو
سلام دوستان کسی میدونه چطوره میشه از تو کد یه آیتم خاص رو از ریسایکلر ویوو تغیر داد مثلا بک گراندشو عوض کرد؟لطفا جواب بدین حیاتیه
0
0
توی ارایت یه فیلد برای مشخص کردن وضعیت بک گراند بذار. هر موقع خواستی اول ادن فیلد رو تغییر بده بعد اداپترت رو توی اون پوزیشن اپدیت کن. مسلما توی onBind هم باید با توجه به این فیلد بک گراند هارو تغییر بدی.یادت باشه اگر بک گراند یک ایتم رو مثلا سبز کردی باید برای حالت عادی هم بگی که سفید بشن. و گرنه با اسکرول کردن میبینی چند تای دیگم سبز شدن (9 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
مسعود فرمانی
9 سال پیش
+2
0
اگه فقط میخواید ویوهای recyclerview فقط به ازای یک آیتم خاص رنگ خاصی داشته باشند لازمه که به یه صورتی یه پروپرتی خاص برای متمایز کردن اون آیتم در recyclerview تعریف کنید (مثلا داده هایی که به recyclerview تزریق میکنید رو به صورتی کلاس هایی تعریف کنید که بازم مثلا یه فیلد به نام color دارند...)
فرض می کنیم که شما کلاسی به شکل زیر ساختید:
class StructItem{
int color;
.
.
.
.
}
- و در کلاس آداپترتون آرایه ای از این کلاس رو به شکل زیر تعریف کردید :(البته باید این آرایه با اشیایی از این کلاس پر بشن ، در صورتیکه با پیاده سازی کلی کلاس آداپتر recyclerView آشنایی ندارید لازمه یه سرچی بزنید...)
-
ArrayList<StructItem> structItems = new ArrayList<>();
- در متد onBindViewHolder به شکل زیر عمل کنید :
-
@Override
public void onBindViewHolder(CustomViewHolder customViewHolder, int position) {
customViewHolder.yourAdapterLayoutView.setBackgroundColor(structItems.get(position).color);
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .