碎片中的碎片我想知道這是否是AndroidAPI中的一個(gè)bug:我有這樣的安排:┌----┬---------┐| | || 1 | 2 || |┌-------┐|| || ||| || 3 ||└----┴┴-------┴┘是一個(gè)菜單,它在右窗格中加載片段#2(搜索屏幕)。是一個(gè)搜索屏幕,其中包含片段#3,這是一個(gè)結(jié)果列表。結(jié)果列表在幾個(gè)地方使用(包括作為一個(gè)功能較高的片段本身)。這個(gè)功能在手機(jī)上非常好地工作(其中1&2和3是ActivityFragments)。但是,當(dāng)我使用此代碼時(shí): FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment frag = new FragmentNumber2();
if(toLoad != null) frag.setArguments(toLoad);
transaction.replace(R.id.rightPane, frag);
transaction.commit();哪里R.id.leftPane和R.id.rightPane是<fragment>s在水平線性布局中。據(jù)我理解,上面的代碼刪除了駐留的片段,然后用一個(gè)新的片段替換它。才華橫溢.。顯然,這不是發(fā)生的情況,因?yàn)楫?dāng)?shù)诙芜\(yùn)行此代碼時(shí),您會(huì)得到以下異常:07-27 15:22:55.940: ERROR/AndroidRuntime(8105): Caused by: java.lang.IllegalArgumentException: Binary XML file line #57:
Duplicate id 0x7f080024, tag null, or parent id 0x0 with another fragment for FragmentNumber3這是因?yàn)镕ragmentNumber3的容器已經(jīng)被復(fù)制,并且它不再具有唯一的ID。最初的片段還沒有被銷毀(?)在添加新的之前(在我看來(lái),這意味著它還沒有取代).有人能告訴我這是否可能嗎這個(gè)答案暗示它不是),還是它是一個(gè)bug?
碎片中的碎片
尚方寶劍之說(shuō)
2019-07-03 15:42:26