بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
آداپتور تلگرام
سلام
اگر دقت کرده باشید در نرم افزار تلگرام 27 لایه جهت نمایش پیام ها وجود دارد
دوستان اطلاعاتی دارند پیرامون اینکه چطور این لایه ها رو مدیریت میکنه ؟
اطلاعاتی که بنده داشتم این بود که همه لایه ها رو بارگذاری میکنه و بسته به نوع پیام(ویدیو ،عکس ،متن ، استیکر و ...)لایه موردنظر رو visable و مابقی رو Gone میکنه
ولی یکی از دوستام گفتند که میزان استفاده از رم رو بالا می بره که نظرشون کاملا درسته
دوستان ممنون میشم راهنمایی کنید.
0
0
کسی نبود
(10 سال پیش)
0
0
واقعا کسی اطلاعی نداره
(10 سال پیش)
+1
0
بنده صاحب نظر نیستم تو این زمینه ، ولی لزومی نداره که همه ی لایه ها رو لود کرده باشه بعد هر کدوم نیاز نبود (GONE ) شه. خیلی راحت میتونه موقعی که دیتا رو از دیتا بیس میخونه ادپتر مورد نیاز رو فراخوانی کنه بعد با دیتا پرش کنه و به لیست ویو اضافه کنه. مثلا یه دیتا رو که خوند تشخیص بده عکسه . ادپتر مربوط به عکس رو فراخوانی میکنه و عکس رو داخلش پرمیکنه. فکر نکنم خیلی کار سختی باشه . (10 سال پیش)
0
0
یعنی باید توی یه لیست ویو چند تا آداپتور بسازه؟اصلا مگه میشه چند تا آداپتور ساخت؟میشه بیشتر توضیح بدید؟ (10 سال پیش)
+2
0
لینک (10 سال پیش)
0
0
دوستان کسی میتونه سمپلی ، مثالی ، چیزی بهم بده خیلی گیرم (10 سال پیش)
+2
0
میتونه داخل لیست خالی باشه بعد توی adapter بسته به نوع پیام یک چیزی new کنه. مثلا وقتی عکس میاد یک imageview بسازه و عکس رو در آن قرار بده. (10 سال پیش)
0
0
میتونید با مثال توضیح دهید.؟ (10 سال پیش)
0
0
چرا هیچ کسی کمکی نمیکنه؟ کلیتشو فهمیدم ولی قسمت view holder رو نمی فهمم که چکار کنم.ممنون میشم کمک کنید (10 سال پیش)
0
0
سوالتون مال 7 ماه پیشه و به جواب نرسیدید!!! چرا این جا این قدر کم فعالیت شده؟! در نرم افزار تلگرام از فرگمنت ها استفاده شده . با فرگمنت ها می تونید به هدف تون برسید. (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
Rabbit
10 سال پیش
+1
0
یک LinearLayout تعریف میکنید داخل لیست. فرض کنیم اسمش هست myLayout بعد داخل holder بسته به اینکه با چه چیزی سر و کار داریم یک View جدید میسازیم و add میکنیم. مثلا فرض کنیم یک image فرستاده شده:
ImageView mImageView = new ImageView(this);
mImageView.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT)); myLayout.addView(mImageView);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .