所以我必须创建一个登录活动+片段(登录,注册)。我希望主屏幕是两个按钮(登录+注册),我已经在主活动的xml文件中创建了它。
但是我很难理解我应该如何为我的活动添加两个片段(一个登录活动,这将带我到第一个带有登录屏幕的片段和一个注册活动,这会带我到第二个片段寄存器屏幕)。
所以我在android studio中创建了一个带有空白活动的新项目。然后我右键单击res / layout文件夹并按下创建新的空白片段。但是,这个片段没有被添加到我的MainAcivity.java文件所在的文件夹中,创建了一个名为layout的新文件夹,并在那里添加了它。如何将这些片段添加到我的主要活动中?甚至可以使主要活动性被该活动中的片段替换(因此当我点击一个按钮然后显示片段时,我的主页会被隐藏)?或者我应该怎么做呢?
如果这看起来令人困惑,我很抱歉,这对我来说。任何帮助将不胜感激。
答案 0 :(得分:1)
我希望主屏幕是两个按钮(登录+注册),我已经在主活动的xml文件中创建了
好的,太棒了!
我正在努力理解我应该如何为我的活动添加两个片段(一个登录活动,这将带我到第一个带有登录屏幕的片段和一个注册活动,这将带我到第二个片段registerscreen)。
您想要LoginFragment
和RegisterFragment
吗?这比两个活动更有意义。你还可以使用2个按钮HomePageFragment
。
这个片段没有被添加到我的MainAcivity.java文件所在的文件夹中,一个名为layout的新文件夹被创建并添加到那里
目前尚不清楚这是怎么发生的,但是Fragment就像一个Activity有一个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();
甚至可以使主要活动性被该活动中的片段替换(因此当我单击一个按钮然后显示片段时,我的主页会被隐藏)?
您没有替换活动,您“转换”/“替换”在父活动中 中显示的碎片。
有关详细信息,请参阅Building a Flexible UI
答案 1 :(得分:1)
试试这个:
由于您将使用FrameLayout,如果第一个片段已经存在,您将替换第二个片段!
我希望这有帮助!