2
Android - การเขียนคอมโพเนนต์ (สารประกอบ) ที่กำหนดเอง
แอป Android ที่ฉันกำลังพัฒนาอยู่มีกิจกรรมหลักที่เติบโตขึ้นค่อนข้างมาก ส่วนใหญ่เป็นเพราะมีTabWidget3 แท็บ แต่ละแท็บมีส่วนประกอบค่อนข้างน้อย กิจกรรมต้องควบคุมส่วนประกอบเหล่านั้นทั้งหมดพร้อมกัน ดังนั้นฉันคิดว่าคุณคงนึกออกว่ากิจกรรมนี้มี 20 ช่อง (ช่องสำหรับเกือบทุกองค์ประกอบ) นอกจากนี้ยังมีตรรกะมากมาย (ตัวฟังคลิกตรรกะเพื่อเติมรายการ ฯลฯ ) โดยปกติสิ่งที่ฉันทำในเฟรมเวิร์กที่ใช้ส่วนประกอบคือการแยกทุกอย่างออกเป็นส่วนประกอบที่กำหนดเอง ส่วนประกอบที่กำหนดเองแต่ละส่วนจะมีความรับผิดชอบที่ชัดเจน มันจะมีชุดส่วนประกอบของตัวเองและตรรกะอื่น ๆ ทั้งหมดที่เกี่ยวข้องกับส่วนประกอบนั้น ฉันพยายามหาวิธีที่จะทำได้และพบบางอย่างในเอกสารของ Android ที่พวกเขาชอบเรียกว่า "Compound Control" (ดูhttp://developer.android.com/guide/topics/ui/custom-components.html#compoundและเลื่อนไปที่ส่วน "Compound Controls") ฉันต้องการสร้างส่วนประกอบดังกล่าวโดยใช้ไฟล์ XML ที่กำหนด ดูโครงสร้าง ในเอกสารระบุว่า: โปรดทราบว่าเช่นเดียวกับกิจกรรมคุณสามารถใช้วิธีการประกาศ (ตาม XML) ในการสร้างส่วนประกอบที่มีอยู่หรือคุณสามารถซ้อนกันโดยทางโปรแกรมจากโค้ดของคุณ นั่นเป็นข่าวดี! วิธีการที่ใช้ XML เป็นสิ่งที่ฉันต้องการ! แต่มันไม่ได้บอกว่าต้องทำอย่างไรยกเว้นว่า "ชอบด้วยกิจกรรม" ... แต่สิ่งที่ฉันทำในกิจกรรมคือการเรียกร้องsetContentView(...)ให้ขยายมุมมองจาก XML LinearLayoutวิธีการที่ไม่สามารถใช้ได้ถ้าคุณตัวอย่างเช่นประเภทรอง ดังนั้นฉันจึงพยายามขยาย XML ด้วยตนเองดังนี้: …