带有两个片段的Android活动

带有两个片段的Android活动,android,android-fragments,Android,Android Fragments,所以我必须创建一个登录活动+片段(login,register)。我希望主屏幕是两个按钮(login+register),我已经在主活动的xml文件中创建了这两个按钮 然而,我很难理解我应该如何向我的活动中添加两个片段(一个登录活动,它将带我进入带有loginscreen的第一个片段,另一个注册活动,它将带我进入带有registerscreen的第二个片段) 因此,我在android studio中创建了一个带有空白活动的新项目。然后我右键单击res/layout文件夹并按下create new

所以我必须创建一个登录活动+片段(login,register)。我希望主屏幕是两个按钮(login+register),我已经在主活动的xml文件中创建了这两个按钮

然而,我很难理解我应该如何向我的活动中添加两个片段(一个登录活动,它将带我进入带有loginscreen的第一个片段,另一个注册活动,它将带我进入带有registerscreen的第二个片段)

因此,我在android studio中创建了一个带有空白活动的新项目。然后我右键单击res/layout文件夹并按下create new blank fragment。但是,这个片段没有添加到MainAcivity.java文件所在的文件夹中,创建了一个名为layout的新文件夹,并添加到了该文件夹中。如何将这些片段添加到我的main中活动?是否有可能将主要活动替换为该活动中的一个片段(因此,当我单击一个按钮时,我的主页会被隐藏,然后片段会显示出来)?或者我应该如何进行

如果这看起来让人困惑,我很抱歉。任何帮助都将不胜感激

我希望主屏幕是两个按钮(login+register),我已经在主活动的xml文件中创建了这两个按钮

好的,太好了

我正在努力理解我应该如何向我的活动中添加两个片段(一个登录活动,它将带我进入带有loginscreen的第一个片段,另一个注册活动,它将带我进入带有registerscreen的第二个片段)

您想要
登录片段
注册表片段
?这比两项活动更有意义。另外还有一个带有两个按钮的
HomePageFragment

这个片段没有被添加到MainAcivity.java文件所在的文件夹中,一个名为layout的新文件夹被创建并添加到了那里

现在还不清楚这是怎么发生的,但是一个片段,就像一个活动有一个XML布局和一个Java类一样。如果您在Java路径中添加了一个布局包,那么您实际上不需要它,可以将Java文件相邻地移动

如何将这些片段添加到我的主要活动中

使用
FragmentTransaction
,例如,从
AppCompatActivity

LoginFragment loginFrag = new LoginFragment();

// Add the fragment to the 'fragment_container' FrameLayout
getSupportFragmentManager().beginTransaction()
        .add(R.id.fragment_container, loginFrag).commit();
甚至有可能让主活动被该活动中的一个片段替换(这样当我点击一个按钮,然后片段显示时,我的主页就隐藏了)

您不替换活动,而是“转换”/“替换”父活动中显示的片段

有关详细信息,请参阅

我希望主屏幕是两个按钮(login+register),我已经在主活动的xml文件中创建了这两个按钮

好的,太好了

我正在努力理解我应该如何向我的活动中添加两个片段(一个登录活动,它将带我进入带有loginscreen的第一个片段,另一个注册活动,它将带我进入带有registerscreen的第二个片段)

您想要一个比两个活动更有意义的
loginframent
RegisterFragment
?您还需要一个带有两个按钮的
HomePageFragment

这个片段没有被添加到MainAcivity.java文件所在的文件夹中,一个名为layout的新文件夹被创建并添加到了那里

现在还不清楚这是怎么发生的,但是一个片段,就像一个活动有一个XML布局和一个Java类一样。如果您在Java路径中添加了一个布局包,那么您就不需要它,可以将Java文件相邻移动

如何将这些片段添加到我的主要活动中

使用
FragmentTransaction
,例如,从
AppCompatActivity

LoginFragment loginFrag = new LoginFragment();

// Add the fragment to the 'fragment_container' FrameLayout
getSupportFragmentManager().beginTransaction()
        .add(R.id.fragment_container, loginFrag).commit();
甚至有可能让主活动被该活动中的一个片段替换(这样当我点击一个按钮,然后片段显示时,我的主页就隐藏了)

您不替换活动,而是“转换”/“替换”父活动中显示的片段

有关详细信息,请参见尝试以下操作:

  • 首先,当您创建一个项目时,生成的项目为您的活动和活动类本身提供了一个布局
  • 其次,如果您想添加一个新的片段,您可以向项目中添加一个片段类(作为活动的示例文件夹),还可以为该片段创建一个布局xml文件
  • 现在,在您的活动中,在加载相应的片段之前,您需要两个按钮——一个用于登录,另一个用于注册
  • 这里要记住的重要一点是在MainActivity的布局xml中有一个FrameLayout,用于保存片段
  • 当用户选择Login时,您将创建LoginFragment的实例,并使用FragmentManager提交事务
  • 当用户选择register时,创建RegisterFragment的实例,使用FragmentManager提交事务
因为您将使用FrameLayout,所以如果第一个片段已经存在,您将替换第二个片段

我希望这有帮助!

试试这个:

  • 首先,当您创建一个项目时,生成的项目为您的活动和活动类本身提供了一个布局
  • 其次,如果您想添加一个新的片段,您可以向项目中添加一个片段类(作为活动的示例文件夹),还可以为该片段创建一个布局xml文件
  • 现在,在您的活动中,在加载相应的片段之前,您需要两个按钮——一个用于登录,另一个用于注册
  • 这里要记住的重要一点是在MainActivity的布局xml中有一个FrameLayout,用于保存片段
  • 当用户选择Login时,您将创建LoginFragment的实例,使用FragmentM