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

پارامتر container در متد onCreateView از Fragment چیست؟

Mohammad-S  4 سال پیش  4 سال پیش
0 0

سلام دوستان 

هنگام ساخت یک Fragment ساده، معمولاً کد های مطابق تصویر زیر رو می‌نویسیم: 

متد onCreateView دارای یک پارامتر به نام container از نوع ViewGroup هست که برای inflate کردنِ ویوِ (لیوتِ) فرگمت ازش استفاده می‌کنیم.
خب می‌دونیم قراره که layout، درونِ این container قرار بگیره.

سوال: این container چیست؟ کجاست؟ و کِی تعریف و مقدار دهی شده؟
که می‌خواد layout فرگمت ما داخلش قرار بگیره؟ 

آیا در محیط xml editor (محیط Layout Designer) می‌تونیم این container رو مشاهده بکنیم؟

آی‌دیِ(id) این container چیست؟ یعنی برای دسترسی بهش به جای x در کد زیر، چه چیزی رو باید بنویسیم؟

 R.id.x
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Milad  4 سال پیش
0 0

دورد، برای دسترسی به view های داخل لایه fargment_layout باید به صورت زیر عمل کنید

View viewRoot = inflater.inflate(R.layout.fargment_layout, container, false);
TextView textView = (TextView) viewRoot.findViewById(R.id.textView);
textView.setText("test");
return viewRoot;

موفق و پیروز باشید
MiladCloudy

0 0
سلام. ممنون از پاسختون. اما سوال من درمورد پارامتر container هست(و نه view اينفليت شده كه لايه fargment_layout باشه). اينكه اين پارامتر(container) چي هست؟ و كجا مقدار دهي ميشه؟ (4 سال پیش)
0 0
همچنين بايد بگم نحوه ايجاد فرگمت هم مطابق اين اسنیپی( لینک )ای هست که استاد ایجاد کرده و ساده ترین حالت ایجاد یک Fragment هست. (4 سال پیش)
0 0
سومین پارامتر «inflate» مشخص می‌کند که آیا این فرگمنت باید به یک «container» متصل شود یا خیر. یک مخزن یا «container» یک «view» والد است که ساختار «view» فرگمنت را در خود نگه می‌دارد. همیشه باید این مقدار را برابر با «false» قرار دهید. «FragmentManager» مسائل مربوط به اضافه کردن فرگمنت به مخزن را مدیریت می‌کند. (4 سال پیش)

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