我希望我的應用程序支持右手和左手用戶的不同佈局。因此,在更改相應的偏好之後,我想以與重新啓動時相同的方式重新啓動該活動。方向改變。重新開始活動,例如方向更改
我試過到目前爲止:
Intent intent = getIntent();
finish();
startActivity(intent);
這並不存儲和加載保存實例狀態
2.
View cv = findViewById(android.R.id.content);
SparseArray<Parcelable> state = new SparseArray<Parcelable>();
cv.saveHierarchyState(state);
setContentView(desiredCv);
cv = findViewById(android.R.id.content);
cv.restoreHierarchyState(state);
甚至那麼許多事情並不是他們應該做的。
我認爲最終我可以弄清楚如何在不重新啓動的情況下正確地更改佈局,但以與系統定義的配置更改相同的方式執行它會容易得多。
爲什麼不使用片段並根據用戶選擇切換它們? – PravinCG
如果你真的想這樣做,你應該手動保存實例狀態並將其打包到發送給新活動的意圖中。儘管如此,片段會更乾淨。 – Geobits
@PravinCG我會給片段一個嘗試,但我希望有一個更簡單的解決方案,因爲該應用程序實際上不需要額外的功能和片段的複雜性 –