可以说我有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