其他分享
首页 > 其他分享> > 我如何停止方向改变上重叠的片段?

我如何停止方向改变上重叠的片段?

作者:互联网

我有一个使用片段显示数据的应用程序.下面显示的主要活动控制着内部带有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