Java 使用多个片段的最佳方式是什么?

Java 使用多个片段的最佳方式是什么?,java,android,android-layout,android-fragments,Java,Android,Android Layout,Android Fragments,我有两个片段,分别是SignInFragment和SignUpFragment。第一个main活动使用此代码调用SignInFragment //MainActivity if (savedInstanceState == null) { signInFragment = new SignInFragment(); signUpFragment = new SignUpFragment(); FragmentTransaction fragmentTransaction

我有两个片段,分别是
SignInFragment
SignUpFragment
。第一个
main活动
使用此代码调用
SignInFragment

//MainActivity
if (savedInstanceState == null) {
    signInFragment = new SignInFragment();
    signUpFragment = new SignUpFragment();

    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    fragmentTransaction.add(R.id.frame_holder,signInFragment);
    fragmentTransaction.commit();
}
单击
SignInFragment
中的注册按钮后,如何调用
SignUpFragment
。我有一个按钮的参考:

//SignInFragment    
Button buttonSignUp = view.findViewById(R.id.button_sign_up);

重写它们各自的onClick()方法以响应按钮上的单击事件,并以以下方式将代码写入替换片段:

public void onClick(View v) {
    switch(v.getId()){
     case R.id.button_sign_up:
      FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.frame_holder, signInFragment);
            fragmentTransaction.commit();
    }
}

注意:第二次(或任何连续时间)添加任何片段时,您需要替换该片段,而不是添加该片段,因为添加只会将另一片段覆盖在第一个片段上。有关更多信息,请参阅。

重写它们各自的onClick()方法,以响应按钮上的单击事件,并以以下方式将代码写入替换片段:

public void onClick(View v) {
    switch(v.getId()){
     case R.id.button_sign_up:
      FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.frame_holder, signInFragment);
            fragmentTransaction.commit();
    }
}

注意:第二次(或任何连续时间)添加任何片段时,您需要替换该片段,而不是添加该片段,因为添加只会将另一片段覆盖在第一个片段上。有关更多信息,请参阅。

您需要先覆盖注册按钮的
onClick

然后把这个代码放进去

      FragmentTransaction fragmentTransaction = 
              getSupportFragmentManager().beginTransaction();
              fragmentTransaction.replace(R.id.frame_holder, signInFragment);
              fragmentTransaction.commit();

如前所述,您必须更换它,而不是将它添加到
框架支架中
您需要先覆盖
一次点击
注册按钮

然后把这个代码放进去

      FragmentTransaction fragmentTransaction = 
              getSupportFragmentManager().beginTransaction();
              fragmentTransaction.replace(R.id.frame_holder, signInFragment);
              fragmentTransaction.commit();

如前所述,您必须更换它,而不是将它添加到
框架支架中

,我建议您对它非常熟悉。你应该先查看一下有关的文档。谷歌搜索也会为你提供大量信息。我建议你要非常熟悉。你应该先查看一下有关的文档。谷歌搜索也会为你提供大量信息。