ขึ้นอยู่กับแอพที่คุณกำลังสร้าง ฉันสร้างแอพหลายตัวโดยใช้ทั้งสองวิธีและไม่สามารถบอกได้ว่าวิธีใดวิธีหนึ่งดีกว่าแอพอื่นเสมอ แอพล่าสุดที่ฉันสร้างขึ้นฉันใช้Activity
วิธีการเดียวและการนำทางสไตล์ Facebook เมื่อเลือกรายการจากรายการการนำทางฉันอัปเดตFragment
คอนเทนเนอร์เดียวเพื่อแสดงส่วนนั้น
ที่กล่าวว่ามีหนึ่งActivity
ยังแนะนำซับซ้อนมากมาย สมมติว่าคุณมีแบบฟอร์มแก้ไขและสำหรับบางรายการที่ผู้ใช้ต้องเลือกหรือสร้างต้องการให้ไปที่หน้าจอใหม่ ด้วยกิจกรรมที่เราเพิ่งจะเรียกหน้าจอใหม่ด้วยstartActivityForResult
แต่Fragments
ไม่มีสิ่งนั้นดังนั้นคุณจบลงด้วยการเก็บค่าในActivity
และมีชิ้นส่วนแก้ไขหลักตรวจสอบActivity
เพื่อดูว่าข้อมูลที่ได้รับการเลือกและควรจะแสดงให้ผู้ใช้
สิ่งที่ Aravind พูดเกี่ยวกับการติดอยู่กับActivity
ประเภทเดียวก็เป็นความจริง แต่ก็ไม่ได้ จำกัด อยู่แค่นั้น กิจกรรมของคุณจะเป็นแบบ FragmentActivity และตราบใดที่คุณไม่จำเป็นต้องMapView
มีข้อ จำกัด ใด ๆ หากคุณไม่ต้องการที่จะแสดงผลแผนที่ แต่ก็สามารถทำได้ แต่คุณจะต้องปรับเปลี่ยนทั้งห้องสมุด Android เข้ากันได้ที่จะมีการFragmentActivity
ขยายMapActivity
หรือใช้ที่มีต่อสาธารณชนหุ่นยนต์สนับสนุน v4-googlemaps
ในที่สุด devs ส่วนใหญ่ที่ฉันรู้ว่าการไปตามActivity
เส้นทางเดียวได้กลับไปที่หลาย ๆ กิจกรรมเพื่อทำให้โค้ดของพวกเขาง่ายขึ้น UI ฉลาด, บนแท็บเล็ต, บางครั้งคุณก็ติดอยู่กับการใช้งานActivity
เพียงครั้งเดียวเพื่อให้ได้สิ่งที่บ้าคลั่งที่นักออกแบบของคุณสร้างขึ้นมาด้วย :)
- แก้ไข -
Google ได้เปิดตัวMapFragment
ห้องสมุดความเข้ากันได้ในที่สุดดังนั้นคุณไม่จำเป็นต้องใช้แฮ็ค android-support-v4-googlemaps อีกต่อไป อ่านเกี่ยวกับการอัปเดตได้ที่นี่: Google Maps Android API v2
- แก้ไข 2 -
ฉันเพิ่งอ่านโพสต์ที่ยอดเยี่ยมเกี่ยวกับสถานะของชิ้นส่วนที่ทันสมัย (2017) และจดจำคำตอบเก่านี้ คิดว่าฉันจะแบ่งปัน: Fragments: ทางออกสำหรับปัญหาทั้งหมดของ Android