【发布时间】:2017-12-20 17:43:36
【问题描述】:
我有一个包含BottomNavigationView 的活动,我使用Fragment 在导航栏上的项目被点击时显示内容。
在那个活动中我有:
private BottomNavigationView.OnNavigationItemSelectedListener navItemListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.item1:
getSupportFragmentManager().beginTransaction().replace(R.id.container,new Fragment1()).commit();
return true;
case R.id.item2:
getSupportFragmentManager().beginTransaction().replace(R.id.container,new Fragment2()).commit();
return true;
case R.id.item3:
getSupportFragmentManager().beginTransaction().replace(R.id.container,new Fragment3()).commit();
return true;
}
return false;
}
};
在我的Fragment1 中,我有一个编辑按钮,单击该按钮将启动另一个Activity,它充当Dialog(在清单中设置主题)。在那个活动中,我只有一个 TextView 和 Button 用于编辑我的 item1 片段中的文本。
在我的编辑活动中,我有:
private class ButtonClicked implements View.OnClickListener {
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btnEdit:
UpdateText();
getSupportFragmentManager().beginTransaction().detach(new Fragment1()).attach(new Fragment1()).commit();
finish();
break;
case R.id.btnCancel:
finish();
break;
}
}
}
文本更新,但分离附加似乎不起作用,我仍然需要单击底部导航栏上的另一个项目才能查看编辑后的文本。当点击Button 时,我该怎么做?Activity 将关闭,我可以在我的Fragment 中看到我的TextView 已经更新?
【问题讨论】:
-
你为什么要分离一个新创建的
Fragment?