Android:从Fragment调用父活动

时间:2015-12-03 20:20:02

标签: java android android-layout android-fragments android-activity

我是android新手,只是一个非常奇怪的问题。我有一个活动说A和许多片段f1,f2,f3等等,我想要的是当用户打开应用时,片段f1应该显示为登录片段,登录后mainActivity应该是显示。

这是正确的做法吗?我正在使用单个活动和许多片段。

欢迎评论中的所有建议!

1 个答案:

答案 0 :(得分:1)

这可能是一个很好的方法。这只取决于你想怎么做,你绝对可以这样做。您可以只使用一个活动,并在onCreate中,根据用户是否已注册/登录来确定要显示的片段。这只是一个概述,因为我认为您了解基本概念。我更喜欢将片段传递给名为" showFragment"换掉片段。

public class MainActivity extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

if(user.isLoggedIn())
{
showFragment(new MainFragment);
}
else
{
showFragment(new LoginFragment);
}
}


private void showFragment(Fragment yourFragment)
{
FragmentManager fragmentManager = getFragmentManager ();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
FragmentTransaction.add (R.id.yourFrame, yourFragment);
FragmentTransaction.commit();
}
}

在您使用Android体验的早期使用片段很不错。类似于此的方法应该适合您。但也要考虑将登录内容保存在单独的活动中。无论哪种方式都可以正常工作。