可以說我有2個片段,其中之一有一個文本輸入字段。Android替代片段不會刪除文本字段數據
我我的片段之間的主要活動與此開關:
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_new) {
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, NewFragment(), fragment.getClass().getSimpleName())
.addToBackStack(Integer.toString(id))
.commit();
} ...
通知我使用framentTransactions replace
方法
在有輸入框的當前片段,我在一些文本輸入。然後我使用導航欄切換到一個新的片段。我會期待,因爲我使用replace
,舊的片段不再存在。
我瀏覽到新的片段很好,但是當我按下後退按鈕時,舊片段仍然有我在以前
類型爲什麼會發生這種情況使用replace
當文本?我誤解了片段交易的工作原理嗎?
片段的onCreateView
方法在我按下時不會再被調用,因此基本上重置片段?
後棧將保留該片段,以便您可以點擊後退按鈕返回,嘗試不將其添加到後退堆棧,或在片段分離時手動清除文本字段。 – ootinii