Android StartActivity和FragmentTransaction之间的区别
两者的区别是什么Android StartActivity和FragmentTransaction之间的区别,android,android-intent,android-fragments,fragment,Android,Android Intent,Android Fragments,Fragment,两者的区别是什么 Intent i = new Intent(getActivity(), HomeworkPagerActivity.class); i.putExtra(HomeworkFragment.EXTRA_HOMEWORK_ID, c.getId()); startActivity(i); 以及: 我用一个碎片发射另一个碎片 但是,应该使用哪一种,为什么 此外,我需要将数据从子片段(HomeworkFragment)传输回最初启动它的片段。哪种设置允许数据(如身份证号码)轻松传输
Intent i = new Intent(getActivity(), HomeworkPagerActivity.class);
i.putExtra(HomeworkFragment.EXTRA_HOMEWORK_ID, c.getId());
startActivity(i);
以及:
我用一个碎片发射另一个碎片
但是,应该使用哪一种,为什么
此外,我需要将数据从子片段(HomeworkFragment)传输回最初启动它的片段。哪种设置允许数据(如身份证号码)轻松传输?一个人开始一项活动 另一个实例化一个片段并将其附加到
fragment\u容器中,该容器是调用活动布局的一部分。好的,看
Intent i = new Intent(getActivity(), HomeworkPagerActivity.class);
i.putExtra(HomeworkFragment.EXTRA_HOMEWORK_ID, c.getId());
startActivity(i);
这将启动一个全新的活动,它有自己的生命周期。其中:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();
将R.id.Fragment\u容器中的Fragment
替换为newFragment
但是,应该使用哪一种,为什么
这取决于你的需要
另外,我需要从子片段传输数据
(HomeworkFragment)返回到第一次启动它的片段
地点。哪种设置允许传输数据(如id号)
容易吗
假设您有两个片段
s,您可以使用接口首先将数据传输回活动,然后再传输回第二个片段。“应该使用哪一个片段以及为什么?”:IMHO您应该不使用这两个片段。片段的设计理念是它们应该是自包含的和可重用的。如果一个片段
“知道”某个活动
或另一个片段
,您就破坏了该模型。正如Little Child提到的,您的片段可以定义接口并使用这些接口与父级活动进行通信,这应该允许间接控制和通信。
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();