如题 我怎么在Fragment中调用Activity中的OnNewInetent?
认证高级PHP讲师
在 Activity 中增加一个公开的方法,在这个方法中调用 onNewIntent 方法,然后在 Fragment 中通过 getActivity 再去调用 Activity 公开的那个方法。有点好奇,你主动调用 onNewIntent 方法干嘛?
恩 思路错了 这种方法不行 因为我mainActivity中有4个Fragment(FragmentA FragmentB FragmentC FragmentD) 其中有其他的ActivityA需要跳转到 FragmentA 中 所有我之前的思路是直接跳转到MainActivy中 然后由MainActivity中控制add或者是replace FragmentA 但是出现了问题 MainActivity中出现了回退栈(因为MainActivity中的启动模式是Stand模式) 所有我把MainActivity中的启动模式设置为SingleTask 这下又出问题了 ActivityA 就跳转不了到MainActivity中 所有我又重新了OnnewIntent()方法 就解决了这个问题 但是FragmentC中又需要A中的数据更新视图(FragmentC中是一个饼图 所有又无法实时更新) 想着能不能重新OnNewIntent()方法 在这个方法里面做视图更新的方法。。
你的难点在于Activity跳转的同时还要更新数据。可以把两者分开处理,Activity跳转就使用常规的,数据更新可以使用EventBus等第三方库进行监听处理。
在 Activity 中增加一个公开的方法,在这个方法中调用 onNewIntent 方法,然后在 Fragment 中通过 getActivity 再去调用 Activity 公开的那个方法。有点好奇,你主动调用 onNewIntent 方法干嘛?
恩 思路错了 这种方法不行 因为我mainActivity中有4个Fragment(FragmentA FragmentB FragmentC FragmentD) 其中有其他的ActivityA需要跳转到 FragmentA 中 所有我之前的思路是直接跳转到MainActivy中 然后由MainActivity中控制add或者是replace FragmentA 但是出现了问题 MainActivity中出现了回退栈(因为MainActivity中的启动模式是Stand模式) 所有我把MainActivity中的启动模式设置为SingleTask 这下又出问题了 ActivityA 就跳转不了到MainActivity中 所有我又重新了OnnewIntent()方法 就解决了这个问题 但是FragmentC中又需要A中的数据更新视图(FragmentC中是一个饼图 所有又无法实时更新) 想着能不能重新OnNewIntent()方法 在这个方法里面做视图更新的方法。。
你的难点在于Activity跳转的同时还要更新数据。可以把两者分开处理,Activity跳转就使用常规的,数据更新可以使用EventBus等第三方库进行监听处理。