我正在從我的應用程序幾周後開始工作。現在我指出了錯誤,如果我旋轉我的設備,它總是將我的片段替換爲「Home-Fragment」..我不知道爲什麼。我正在使用Android Studio中的「在路徑中查找」功能進行搜索。我搜索的關鍵詞,如:不能找到代碼改變片段
-orientation
-setOrientation
-Landscape
-Portrait
但沒有找到該代碼段,其變化對旋轉我的片段...... 任何tipps?我如何找出「片段替換」被調用的地方?
我正在從我的應用程序幾周後開始工作。現在我指出了錯誤,如果我旋轉我的設備,它總是將我的片段替換爲「Home-Fragment」..我不知道爲什麼。我正在使用Android Studio中的「在路徑中查找」功能進行搜索。我搜索的關鍵詞,如:不能找到代碼改變片段
-orientation
-setOrientation
-Landscape
-Portrait
但沒有找到該代碼段,其變化對旋轉我的片段...... 任何tipps?我如何找出「片段替換」被調用的地方?
將android:configChanges="orientation|screenSize"
添加到您活動的清單中。這會阻止您的活動在方向更改後重新創建視圖。
正確的代碼初始化「家庭片段」是這樣的:
public class MyActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState == null) {
getSupportFragmentManager()
.beginTransaction()
.replace(android.R.id.content, new HomeFragment())
.commit();
}
}
}
注意,你只能做的片段交易如果savedInstanceState == null
,如果它不爲空,Android和片段框架將自動重新一切。
我敢肯定,你總是用homeFragment
更換的原因是因爲你沒有檢查savedInstanceState == null
謝謝。這對我有很大的幫助。 也許是這個原因吧!即時嘗試它現在。 –
你可以把一些代碼,所以我們可以看到,請:)?當您旋轉設備時,活動會因其生命週期方法而被破壞並再次創建。你希望它有肖像和風景佈局嗎? – SmiffyKmc
當您旋轉設備時,活動再次啓動。因此,您的活動中的第一個片段將重新加載,即HomeFragment。 – activesince93
提示:請上傳有問題的錯誤(如有)的相關代碼。 – Arjun