مقدمة
بعد تعلم Java و Android لمدة عام تقريبًا ، يجب أن تكون نتائج هذه الفترة لإكمال عميل Android بشكل مستقل وضمان استقرار إصدار الخط الرئيسي. خلال هذه الفترة ، واجهت الكثير من الحفرة ، وتعلمت أيضًا الكثير من معرفة Android مع أخي. لكن يتعين على الناس دائمًا تبني التغييرات ولا يجعلون أنفسهم مريحين للغاية. هنا نلخص معظم الشظايا المستخدمة في العناصر السابقة.
مقدمة إلى جزء
يمكن فهم الشظية على أنها سلوك أو جزء من واجهة المستخدم في النشاط ، ويجب أن يكون متداخلًا في النشاط. لكن الجزء الخاص به يحتوي على ملف تخطيط XML المستقل وله عبوة جيدة.
إنشاء جزء
إنشاء جزء وإنشاء نشاط.
ملفات تخطيط XML هي نفس ملفات التخطيط الأخرى.
<إصدار XML = "1.0" charcoding = "utf-8"؟> <linearlayout match_pareat "Android: extrientation =" vertical "> <textView android: id ="@+id /textView "Android: layout_width =" wall_content "Android: la yout_height =" wall_content "android: text =" string / / / / / / / / > <button android: id = "@id /button" Android: layout_width = "wall_content" Android: layout_height = "wall_content" android: text = "string /button" /> </linearlayout>
في رمز Java ، بشكل عام ، يمكن تنفيذ طرق دورة الحياة التالية حسب الحاجة: الشظية:
1. Onattach (): عندما يعتمد الشظية على النشاط ، يمكنك الحصول على مقبض النشاط في هذه الطريقة لتحقيق التواصل بين الجزء والنشاط.
2. oncreate (): تهيئة الإطار.
3. onCreateview (): يقوم النظام باستدعاء هذه الطريقة عند رسم واجهة المستخدم لأول مرة للشظية.
4.
5. OnDestoryView (): اتصل عندما يبدأ التدمير في الإطار.
6. OnStart (): اتصل عندما يمكن أن تكون الشظية مرئية.
هناك أيضًا العديد من وظائف رد الاتصال التي يتم استخدامها لمعالجة دورة حياة الشظية.
دورة حياة الشظايا
كل جزء له مجموعة من أساليب رد الاتصال الخاصة بدورة الحياة والتعامل مع أحداث إدخال المستخدم الخاصة به. تظهر دورة الحياة المقابلة في الشكل أدناه:
أضف جزءًا إلى النشاط
بادئ ذي بدء ، تحتاج إلى التأكد من أن المحطات تدعم الشظية ، لذلك عادة ما يحتاج النشاط إلى الوراثة من التجزئة. عادة ما يكون هناك طريقتان لإضافة جزء إلى النشاط: ثابت وديناميكي.
تضيف الطريقة الثابتة شظية مباشرة إلى ملف تخطيط XML للنشاط ، كما هو موضح أدناه:
<إصدار XML = "1.0" charcoding = "utf-8"؟> <linearlayout match_pareant "Android: BaseLinealInged =" false "Android: Tirection =" Fenizontal "> <fragment android: id ="@id/first "android:" com. layout_height = "match_parent" Android: layout_weight = "1" /> <fragment android: id = "@id /second" android: "com.example.se condfragment" android: layout_width = "0dp" android: layout_height = "match_parent" Android: layout_weight = "1" /> </linearlayout>
عندما تحدد سمة الاسم في <pragment> فئة الشظية التي تم تأسيسها في التخطيط ، عند إنشاء تخطيط النشاط ، قام بتثبيت كل إطار في ملف التخطيط ويدعوها للحصول عليها للحصول على كل منها . يقوم النظام بإدراج العرض المباشر الذي تم إرجاعه بواسطة موقع العنصر <ragment>
ملاحظة: يتطلب كل جزء تحديدًا فريدًا. هناك ثلاث طرق لتوفير معرفات للشظية: هناك ثلاث طرق:
طريقة ديناميكية
استخدام مجهز. يمكنك استخدام واجهة برمجة تطبيقات FragmentTranscation لتشغيل جزء النشاط (مثل إضافة أو إزالة أو استبدال الجزء). الرمز المرجعي كما يلي:
FragmentManager FragmentManager = getFragmentManager () FragmentTransaction = FragmentManager.BeginTraction () ؛
المعلمة الأولى لدالة add () هي مجموعة ViewGroup من الجزء ، والتي يتم تحديدها بواسطة معرف المورد (معرف المورد). بمجرد أن يتغير من خلال الترجمة ، يجب أن يكون مفيدًا مع التغييرات البصرية ().
شظايا التواصل
لا ينبغي توصيل الشظايا مباشرة ، ويجب إجراء التفاعل بينها من خلال نشاط المضيف. هناك ثلاث طرق للتفاعل مع الشظية والحيوية:
1. النشاط يخلق جزءًا مع المعلمات.
2. النشاط يحافظ على مقبض الكائن للشظية ، والتي يمكن أن تسمى مباشرة الطريقة العامة للجزء من خلال المقبض.
3. يمكن للشظية الحصول على مقبض المستمع المحدد في وظيفة Onattach.
إنشاء الإطار مع المعلمات
في بعض الحالات المحددة ، قد يتطلب الشظية معلمات محددة للتهيئة. نظرًا لأن الجزء يجب أن يكون له مُنشئ جينسنغ واحد فقط ، يمكنك التفكير في استخدام طريقة NewInstance الثابتة لإنشاء جزء مع المعلمات. رمز المثال هو كما يلي:
استيراد Android.os.bundle ؛ ؛؛
يمكنك ببساطة تحميل معلمة مع المعلمات في النشاط:
FragmentTransaction ft = GetSupportFragmentManager ().
طريقة استدعاء جزء
نظرًا لأن النشاط يمكن أن يحصل على مقبض الجزء المدمج ، يمكن استدعاء هذه الطريقة مباشرة من خلال مقبض الأجزاء.
يمتد TestFragment من الفئة العامة الجزء {public void dosomething (سلسلة param) {// افعل شيئًا في جزء}}} في النشاط ، يمكنك استدعاء هذه الطريقة مباشرة من خلال مقبض الكائن للشظية:
يمتد Mainaction من الطبقة العامة {Override public void onCreate (bundle savedancestate) {super.oncreate ( مستمع جزء
إذا احتاجت الشظية إلى مشاركة الأحداث في النشاط ، فيجب استخدام هذه الطريقة. يحدد الشظية واجهة ، ويتم تنفيذ هذه الواجهة حسب النشاط. سيتم تحقيق نشاط الواجهة في طريقة Onattach ().
رمز الواجهة المحدد في الجزء هو كما يلي:
استيراد Android.Support.v4.appragment ؛ استخدم لجعل توصيل الواجهة العامة OnItemSelectLictListener {public void onrsesitemselect (ارتباط السلسلة) ؛} // قم بتخزين المستمع (النشاط) الذي سيحدث أحداثًا بمجرد إرفاق الشظية Override public void onattach (نشاط النشاط) {super.onattach (نشاط ) المستمع.تنفيذ هذه الواجهة في النشاط:
استيراد Android.support.v4.App.fragmentActivity ؛ التفاصيل التفريغ) ؛} // الآن يمكننا تحديد الإجراء في تنشيطه عندما يكون ملفات الأحداث الشظية override public void onrsesitemselect (string link) {if (pragment! = null && fragment.isinlayout ()) {fragment.settext (link! ) ؛}}}