คำถามติดแท็ก android-nested-fragment

6
เศษเล็กเศษน้อยภายใน
ฉันสงสัยว่านี่เป็นข้อบกพร่องจริง ๆ ใน Android API หรือไม่: ฉันมีการตั้งค่าเช่นนั้น: ┌----┬---------┐ | | | | 1 | 2 | | |┌-------┐| | || || | || 3 || └----┴┴-------┴┘ เป็นเมนูที่โหลดแฟรกเมนต์ # 2 (หน้าจอค้นหา) ในบานหน้าต่างด้านขวา เป็นหน้าจอค้นหาที่มีแฟรกเมนต์ # 3 ซึ่งเป็นรายการผลลัพธ์ รายการผลลัพธ์ถูกใช้ในหลาย ๆ ที่ (รวมทั้งเป็นชิ้นส่วนระดับสูงที่ทำงานได้ในสิทธิ์ของตัวเอง) ฟังก์ชั่นนี้ใช้งานได้ดีบนโทรศัพท์มือถือ (ในกรณีที่ 1 & 2 และ 3 ActivityFragment) อย่างไรก็ตามเมื่อฉันใช้รหัสนี้: FragmentTransaction transaction …

13
Fragment Inside Fragment
ฉันต้องการความช่วยเหลือเกี่ยวกับการทำงานกับชิ้นส่วนภายในชิ้นส่วนที่จริงฉันกำลังประสบปัญหาในการกดปุ่มย้อนกลับ แอปพลิเคชันหน้าจอหลักมีปุ่มและการกดบนมุมมองแต่ละปุ่มแทนที่ด้วยแฟรกเมนต์ใหม่ (และแฟรกเมนต์นั้นมีอยู่ในแฟรกเมนต์อื่น) การเพิ่ม / แทนที่แฟรกเมนต์แบบไดนามิกทำงานได้ดีโดยการกด button1 แฟรกเมนต์แทน ปุ่มอีกครั้งมีข้อยกเว้น: "Duplicate id 0x7f05000a, tag null, or parent id 0x7f050009 with another fragment for com........ fragmentname" หมายความว่ามีการเพิ่มแฟรกเมนต์หรือแฟรกเมนต์ภายในแล้วและฉันพยายามเพิ่มอีกครั้งใคร ๆ ก็มีความคิดว่าจะทำงานกับแฟรกเมนต์ภายในแฟรกเมนต์ได้อย่างไรและเคลื่อนที่ไปมาโดยไม่มีปัญหาขอบคุณสำหรับการสนับสนุน MainActivity ที่ชิ้นส่วนจะถูกเพิ่มและแทนที่แบบไดนามิก public class FragmentInsideFragmentTestActivity extends Activity { private Button button1; private Button button2; private Button button3; private Button button4; /** Called when …

5
แนวทางปฏิบัติที่ดีที่สุดสำหรับชิ้นส่วนที่ซ้อนกันใน Android 4.0, 4.1 (<4.2) โดยไม่ต้องใช้ไลบรารีการสนับสนุน
ฉันกำลังเขียนแอปสำหรับแท็บเล็ต 4.0 และ 4.1 ซึ่งฉันไม่ต้องการใช้ไลบรารีสนับสนุน (หากไม่จำเป็น) แต่ใช้เฉพาะ 4.x api เท่านั้น ดังนั้นแพลตฟอร์มเป้าหมายของฉันจึงถูกกำหนดไว้อย่างดีเช่น:&gt; = 4.0 และ &lt;= 4.1 แอปมีเค้าโครงหลายบานหน้าต่าง (สองส่วนเล็ก ๆ ทางซ้ายหนึ่งชิ้นส่วนเนื้อหาทางด้านขวา) และแถบการดำเนินการที่มีแท็บ คล้ายกับสิ่งนี้: การคลิกแท็บบนแถบการดำเนินการจะเปลี่ยนแฟรกเมนต์ 'ด้านนอก' จากนั้นแฟรกเมนต์ด้านในจะเป็นแฟรกเมนต์ที่มีแฟรกเมนต์ที่ซ้อนกันสองชิ้น (1. แฟรกเมนต์รายการเล็กทางซ้าย 2. แฟรกเมนต์เนื้อหากว้าง) ตอนนี้ฉันสงสัยว่าแนวทางปฏิบัติที่ดีที่สุดในการเปลี่ยนชิ้นส่วนและชิ้นส่วนที่ซ้อนกันโดยเฉพาะอย่างยิ่งคืออะไร ViewPager เป็นส่วนหนึ่งของไลบรารีการสนับสนุนไม่มีทางเลือก 4.x ดั้งเดิมสำหรับคลาสนี้ ดูเหมือนว่า 'เลิกใช้แล้ว' ในความหมายของฉัน - http://developer.android.com/reference/android/support/v4/view/ViewPager.html จากนั้นฉันอ่านบันทึกประจำรุ่นสำหรับ Android 4.2 เกี่ยวกับChildFragmentManagerซึ่งน่าจะเหมาะสม แต่ฉันกำหนดเป้าหมายเป็น 4.0 และ 4.1 ดังนั้นจึงไม่สามารถใช้ได้เช่นกัน ChildFragmentManager มีเฉพาะใน …

13
รับข้อผิดพลาด“ Java.lang.IllegalStateException Activity ถูกทำลาย” เมื่อใช้แท็บกับ ViewPager
ฉันมีแอปพลิเคชันที่ประกอบด้วยการใช้ ActionBarSherlock ในโหมดแท็บฉันมี 5 แท็บและจัดการเนื้อหาของแต่ละแท็บโดยใช้ชิ้นส่วน สำหรับ tab2 ฉันมีแฟรกเมนต์ไฟล์ xml ซึ่งมีองค์ประกอบ ViewPager ซึ่งจะมีเพจแฟรกเมนต์บางเพจ เมื่อฉันเริ่มต้นแอปพลิเคชันแอปพลิเคชันฉันสามารถสลับไปมาระหว่างแท็บได้โดยไม่มีปัญหา แต่เมื่อฉันกด tab2 เป็นครั้งที่สองฉันได้รับข้อผิดพลาดดังกล่าวข้างต้น กิจกรรมหลักมีดังนี้: public class MainActivity extends SherlockFragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar actionBar = getSupportActionBar(); ActionBar.Tab tab1 = actionBar.newTab().setText("Tab1"); ActionBar.Tab tab3 = actionBar.newTab().setText("Tab3"); ActionBar.Tab tab2 = actionBar.newTab().setText("Tab2"); ActionBar.Tab tab4 = …

17
Android 4.2: พฤติกรรมแบ็คสแต็กที่มีส่วนที่ซ้อนกัน
พร้อมกับ Android 4.2 สนับสนุนห้องสมุดสนับสนุนได้สำหรับชิ้นส่วนที่ซ้อนกันดูที่นี่ ผมเคยเล่นรอบกับมันและพบพฤติกรรมที่น่าสนใจ / ข้อผิดพลาดเกี่ยวกับสแต็คกลับมาและgetChildFragmentManager () เมื่อใช้ getChildFragmentManager () และ addToBackStack (ชื่อสตริง) โดยการกดปุ่มย้อนกลับระบบจะไม่เรียกใช้ back stack ไปยังส่วนก่อนหน้า ในทางกลับกันเมื่อใช้getFragmentManager ()และ addToBackStack (ชื่อสตริง) โดยการกดปุ่มย้อนกลับระบบจะกลับไปที่แฟรกเมนต์ก่อนหน้า สำหรับฉันพฤติกรรมนี้เป็นเรื่องที่ไม่คาดคิด การกดปุ่มย้อนกลับบนอุปกรณ์ของฉันฉันคาดหวังว่าส่วนที่เพิ่มล่าสุดในสแต็กด้านหลังจะถูกเปิดแม้ว่าส่วนย่อยจะถูกเพิ่มลงในสแต็กด้านหลังในตัวจัดการส่วนย่อยของเด็ก พฤติกรรมนี้ถูกต้องหรือไม่? พฤติกรรมนี้เป็นจุดบกพร่องหรือไม่? มีวิธีแก้ไขปัญหานี้หรือไม่? โค้ดตัวอย่างด้วย getChildFragmentManager (): public class FragmentceptionActivity extends FragmentActivity { @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); final FrameLayout wrapper1 = new FrameLayout(this); …

16
ส่วนที่ซ้อนกันจะหายไปในระหว่างการเปลี่ยนภาพเคลื่อนไหว
นี่คือสถานการณ์: กิจกรรมมีชิ้นส่วนAซึ่งจะใช้getChildFragmentManager()ในการเพิ่มชิ้นส่วนA1และA2ในonCreateลักษณะนี้: getChildFragmentManager() .beginTransaction() .replace(R.id.fragmentOneHolder, new FragmentA1()) .replace(R.id.fragmentTwoHolder, new FragmentA2()) .commit() จนถึงตอนนี้ดีมากทุกอย่างดำเนินไปตามที่คาดไว้ จากนั้นเราจะเรียกใช้ธุรกรรมต่อไปนี้ในกิจกรรม: getSupportFragmentManager() .beginTransaction() .setCustomAnimations(anim1, anim2, anim1, anim2) .replace(R.id.fragmentHolder, new FragmentB()) .addToBackStack(null) .commit() ในระหว่างการเปลี่ยนแปลงที่enterภาพเคลื่อนไหวสำหรับชิ้นส่วนBทำงานได้อย่างถูกต้อง แต่เศษ A1 และ A2 หายไปอย่างสิ้นเชิง เมื่อเราเปลี่ยนกลับธุรกรรมด้วยปุ่มย้อนกลับการทำธุรกรรมจะเริ่มต้นอย่างถูกต้องและแสดงตามปกติในระหว่างการpopEnterเคลื่อนไหว ในการทดสอบสั้น ๆ ของฉันมันแปลกกว่า - ถ้าฉันตั้งค่าภาพเคลื่อนไหวสำหรับชิ้นส่วนย่อย (ดูด้านล่าง) exitภาพเคลื่อนไหวจะทำงานเป็นระยะ ๆ เมื่อเราเพิ่มส่วนB getChildFragmentManager() .beginTransaction() .setCustomAnimations(enter, exit) .replace(R.id.fragmentOneHolder, new FragmentA1()) .replace(R.id.fragmentTwoHolder, new FragmentA2()) …

13
Fragment ใน ViewPager โดยใช้ FragmentPagerAdapter จะว่างเปล่าในครั้งที่สองที่ดู
ฉันมีอินเทอร์เฟซแฟรกเมนต์พร้อมแท็บที่ด้านล่างซึ่งเปิดส่วนต่างๆในมุมมองหลัก ฉันมีส่วนหนึ่งโดยเฉพาะซึ่งเป็นรายการของรายการ หากผู้ใช้เลือกรายการใดรายการหนึ่งในรายการนี้ส่วนอื่นจะเปิดขึ้นซึ่งมี viewpager ซึ่งเลื่อนตามแนวนอนระหว่างรายการทั้งหมดในรายการในส่วนก่อนหน้า ใช้งานได้ดี viewpager ใช้ FragmentPagerAdapter เพื่อแสดงรายการ ปัญหาเกิดขึ้นเมื่อผู้ใช้เลือกรายการในรายการดูรายการจากนั้นกดปุ่มบนแถบแท็บเพื่อกลับไปที่รายการจากนั้นเลือกรายการอื่น ครั้งที่สองที่เลือกรายการหน้าจอว่างจะปรากฏขึ้นแทน viewpager ฉันไม่ได้รับข้อผิดพลาดใน LogCat ของฉันเมื่อสิ่งนี้เกิดขึ้น เหตุใด viewpager จึงปรากฏในครั้งแรกเท่านั้น FragmentPagerAdapter: public class ViewPagerAdapter extends FragmentPagerAdapter { Cursor mCursor; public ViewPagerAdapter(FragmentManager fm, Cursor c) { super(fm); mCursor = c; } public void changeCursor(Cursor c) { mCursor = c; this.notifyDataSetChanged(); } @Override …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.