ความหมายของ addToBackStack (null) ตามด้วยการกระทำ () คืออะไร?
อ้างเอกสาร:
เมื่อเรียก addToBackStack () ธุรกรรมการแทนที่จะถูกบันทึกลงในกองหลังเพื่อให้ผู้ใช้สามารถย้อนกลับธุรกรรมและนำส่วนก่อนหน้ากลับมาได้โดยการกดปุ่มย้อนกลับ
หากคุณเพิ่มการเปลี่ยนแปลงหลายรายการในธุรกรรม (เช่นเพิ่ม () หรือลบ ()) และเรียก addToBackStack () การเปลี่ยนแปลงทั้งหมดที่นำไปใช้ก่อนที่คุณจะเรียกคอมมิต () จะถูกเพิ่มลงในกองหลังเป็นธุรกรรมเดียวและปุ่มย้อนกลับ จะย้อนกลับทั้งหมดเข้าด้วยกัน
ลำดับที่คุณเพิ่มการเปลี่ยนแปลงใน FragmentTransaction ไม่สำคัญยกเว้น:
คุณต้องโทรเป็นcommit()
ครั้งสุดท้าย หากคุณกำลังเพิ่มชิ้นส่วนหลายชิ้นลงในคอนเทนเนอร์เดียวกันลำดับที่คุณเพิ่มจะกำหนดลำดับที่ปรากฏในลำดับชั้นของมุมมอง
ดังนั้นคุณต้องกระทำในที่สุด
ทำไมคุณต้องส่งพารามิเตอร์ null เพื่อ addToBackStack
ไม่จำเป็นต้องเป็นโมฆะสามารถเป็นสตริงได้ หากคุณไม่ต้องการเพียงแค่ส่งค่าว่าง
FragmentTransaction นามธรรมสาธารณะ addToBackStack (ชื่อสตริง)
เพิ่มใน API ระดับ 11 เพิ่มธุรกรรมนี้ในกองหลัง ซึ่งหมายความว่าธุรกรรมจะถูกจดจำหลังจากที่มีการคอมมิตและจะย้อนกลับการดำเนินการเมื่อดึงออกจากสแตกในภายหลัง
ชื่อพารามิเตอร์ชื่อทางเลือกสำหรับสถานะแบ็กสแต็กหรือค่าว่าง
เกี่ยวกับ:
ดูเหมือนว่ารหัสนี้จะไร้ประโยชน์เมื่อฉันรันโค้ดโดยไม่มีบรรทัดสุดท้าย. addToBackStack (null) .commit () และมันทำงานโดยไม่มีปัญหาใด ๆ
หากคุณต้องการนำทางไปยังส่วนก่อนหน้าให้เพิ่มลงใน backstack ดังนั้นจึงขึ้นอยู่กับว่าคุณต้องการเพิ่มส่วนใน backstack หรือไม่
จะรับชิ้นส่วนนั้นได้อย่างไรหลังจากถูกเพิ่มแบบนี้?
firstFragment
คุณมีอยู่แล้วเช่นชิ้นส่วน ดังนั้นฉันไม่รู้ว่าคุณหมายถึงอะไรเมื่อได้รับชิ้นส่วนในภายหลัง
ข้อมูลมากกว่านี้ @
http://developer.android.com/guide/components/fragments.html
http://developer.android.com/reference/android/app/FragmentTransaction.html#addToBackStack(java.lang.String)