大佬教程收集整理的这篇文章主要介绍了android – 如何将数据从当前片段传递到以前的片段,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在片段A中我称之为片段B:
FragmentB calendarDialog = new FragmentB(); calendarDialog.setTargetFragment(CurrentPanchangDialog.this,1); Fragmenttransaction transaction = getActivity().getSupportFragmentManager().begintransaction(); transaction.setTransition(Fragmenttransaction.TRANSIT_FRAGMENT_OPEN); transaction.setCustomAnimations(R.anim.enter_from_left,R.anim.exit_to_right,R.anim.enter_from_right,R.anim.exit_to_left); transaction.add(android.R.id.content,calendarDialog).addToBACkStack(null).commit();
getTargetFragment().onActivityResult( getTargetrequestCode(),Activity.RESULT_OK,new Intent().putExtra("data","datafrom C") ); getActivity().getSupportFragmentManager().popBACkStackImmediate();
现在在Base活动中,我将重写onActivityForResult():
@Override protected void onActivityResult(int requestCode,int resultCode,Intent data) { Fragment pFragment = getSupportFragmentManager().findFragmentById(R.id.content); if (pFragment instanceof CurrentPanchangDialog) { if (pFragment != null) { pFragment.onActivityResult(requestCode,resultCode,data); } } super.onActivityResult(requestCode,data); }
我没有将数据从片段B返回到片段A.
public interface FragmentCallBACk { void onDataSent(String yourData); }
•在FragmentA中实现此接口并实现onDataSent()方法:
public class FragmentA implements FragmentCallBACk { @Override void onDataSent(String yourData){ //Do something with your data } }
•在Fragment B中声明此接口变量并创建公共setter方法:
public class FragmentB { private FragmentCallBACk fragmentCallBACk; public void setFragmentCallBACk(FragmentCallBACk callBACk) { this.fragmentCallBACk = callBACk; } }
•在某处使用FragmentA将其设置为FragmentB实例上的回调:
fragmentB.setFragmentCallBACk(this);
•从FragmentB到FragmentA的路径数据(如果要在FragmentB即将关闭时发送数据,您可以从片段的生命周期方法之一执行此操作):
public class FragmentB { public void onDestroy() { if(fragmentCallBACk != null){ fragmentCallBACk.onDataSent("Some data from FragmentB"); } super.onDestroy(); } }
以上是大佬教程为你收集整理的android – 如何将数据从当前片段传递到以前的片段全部内容,希望文章能够帮你解决android – 如何将数据从当前片段传递到以前的片段所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。