我如何停止方向改变上重叠的片段?
作者:互联网
我有一个使用片段显示数据的应用程序.下面显示的主要活动控制着内部带有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();
}
....
}
解决方法:
我知道发生了什么事.这是令人反感的代码行:
fragmentTransaction.add(R.id.container1, notesFrag);
我需要使用replace()方法,在每次方向更改后替换片段,而不是将片段的另一个实例添加到FragmentManager中.简单的答案,但令人沮丧;)
标签:fragmentmanager,android-fragments,screen-orientation,android 来源: https://codeday.me/bug/20191118/2031023.html