2017-08-29 74 views
0

在我的應用,有在片段Recyceler查看設備上的旋轉複製

回收站視圖當我按照以下步驟它得到的的Nexus複製 6 5.1.1設備 1)更改設備方向爲橫向 2)鎖定設備 3)改變裝置定向爲縱向 4)解鎖裝置 查閱1秒鐘有的視圖複製

我在片段具有setRetainInstance = true

getSupportFragmentManager().beginTransaction() 
.add(getContentFrame(),fragment,fragment.getClass().getName()) 
         .addToBackStack(fragment.getClass().getName()) 
         .commit(); 

添加片段

before rotationafter rotation

+0

recyclerview intilization code呢?你把它放在片段中? –

+0

@Ajay_Reddy onCreateView – Tushar

+0

只需在您添加片段的活動中添加檢查。僅當savedInstance不等於null時才添加片段。 –

回答

0

這通常發生在您再次添加片段時(儘管它已經存在)。

getSupportFragmentManager().beginTransaction().add(getContentFrame(),fragment,fragment.getClass().getName()) 
        .addToBackStack(fragment.getClass().getName()) 
        .commit(); 

我猜你調用這兩次(一次開始,一旦方向改變後),所以您的片段被添加兩次。根據您的實施方式,只需在撥打此號碼之前添加一個支票if (getSupportFragmentManager().findFragmentByTag(YourFragment.class.getName()) == null)我們的支票號碼onCreate()如果(savedInstanceState == null)