我有一个使用片段显示数据的应用。下面显示的主要活动控制片段,里面有一个recyclerview,当我进行方向更改时,我看起来像一个Recyclerview重叠另一个。在每次方向更改时,都会创建另一个片段。我该如何解决这个问题?任何帮助都会很棒
public class MainActivity extends AppCompatActivity
implements NotesFragment.OnFragmentInteractionListener, EditFragment.SaveFragmentItem {
EditFragment editFrag;
NotesFragment notesFrag;
FragmentManager fragmentManager;
FragmentTransaction fragmentTransaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
notesFrag = new NotesFragment();
editFrag = new EditFragment();
fragmentManager = getSupportFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.container1, notesFrag);
fragmentTransaction.commit();
}
....
}
答案 0 :(得分:3)
我弄清楚发生了什么。这是令人讨厌的代码行:
fragmentTransaction.add(R.id.container1, notesFrag);
我需要使用replace()
方法,在每次方向更改后替换片段,而不是将片段的另一个实例添加到FragmentManager。简单的答案,但令人沮丧;)