使用整理碎片时调用OnResume时后退按钮pressed [英] Call OnResume when Back Button Pressed when using Fragments

查看:124
本文介绍了使用整理碎片时调用OnResume时后退按钮pressed的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想补充一个片段是这样

  FragmentManager FM = SliderActivity.this
                    .getSupportFragmentManager();
            FragmentTransaction英尺= fm.beginTransaction();
            片段片段= NULL;
            片段=新HomeFragment();
            ft.add(R.id.content_fragment,片段,家);
                ft.addToBackStack(家);
                ft.commit();

和第二个片段为

  FragmentManager FM = SliderActivity.this
                    .getSupportFragmentManager();
            FragmentTransaction英尺= fm.beginTransaction();
            片段片段= NULL;
            片段=新HomeFragment();
            ft.add(R.id.content_fragment,片段,关于);
            ft.addToBackStack(关于);
            ft.commit();

我的问题是,如果我美元,AboutFragment(二)p $ PSS后退按钮然后如何调用HomeFragment的方法(一)

  onResume()被不激发其创造的问题


解决方案

如果您要添加的片段
            ft.add(R.id.content_fragment,片段,关于);
然后你回到pressed,那么就不会先打电话的任何方法调用fragment.To第一片段的方法替换片段:

ft.replace(R.id.content_fragment,片段,关于);

,但它会调用onCreateView()第一然后其他methods.It是不可能在上pssed调用onResume(背面$ P $片段),如在活动发生

I add first fragment like this

            FragmentManager fm = SliderActivity.this
                    .getSupportFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            Fragment fragment = null;
            fragment = new HomeFragment();
            ft.add(R.id.content_fragment, fragment, "Home");
                ft.addToBackStack("Home");
                ft.commit();

and second fragment as

            FragmentManager fm = SliderActivity.this
                    .getSupportFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            Fragment fragment = null;
            fragment = new HomeFragment();
            ft.add(R.id.content_fragment, fragment, "About");
            ft.addToBackStack("About");
            ft.commit();

My question is if I press back button from AboutFragment (Second) then how to call a method of HomeFragment (First)

            onResume() is not fired which is creating problem

解决方案

If you are adding fragment ft.add(R.id.content_fragment, fragment, "About"); then you back pressed, then it will not call any method of first fragment.To call the method of the first fragment replace the fragment :

ft.replace(R.id.content_fragment, fragment, "About");

but it will call onCreateView() first then other methods.It is not possible in fragment on backpressed to call onResume() , as in activity happens

这篇关于使用整理碎片时调用OnResume时后退按钮pressed的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆