在使用fragment 和 fragmentActivity组合,调用startActivityForResult方法可能没有响应,还不知道问题出在哪里。现梳理一下正确的调用方式。
第一种情况:
fragment.java 中
getActivity().startActivityForResult(intent,1001);
这种情况下fragmentActivity下的onActivityResult方法被调用。fragment中的onActivityResult不会被调用。
第二种情况:
fragment.java 中
startActivityForResult(intent,1001);
这种情况下fragmentActivity下的onActivityResult方法被调用,同时注意的是如果fragmentActivity下的onActivityResult方法调用了super.onActivityResult方法,fragment中的onActivityResult也会被调用。
最后,一般情况下使用第二种情况,且不重载fragmentActivity下的onActivityResult方法,除非fragment和activity有互动。出现标题现象的原因大多是重载fragmentActivity下的onActivityResult方法但是没有调用super.onActivityResult方法
相关推荐
同时,Fragment可以通过onActivityResult()方法处理来自Activity的结果。 六、Fragment的保存和恢复 当Activity因配置更改(如屏幕旋转)而重建时,已添加的Fragment不会被重新创建,但它们的状态需要保存和恢复。...
Fragment的设计初衷是为了更好地适应大屏幕设备如平板电脑,但随着时间的发展,它在手机应用开发中也变得不可或缺,特别是在创建复杂的、多视图的应用界面时。 ### Fragment的基本概念 1. **Fragment生命周期**:...
- 使用`onActivityResult()`方法:当Fragment需要启动一个新的Activity并等待结果时,可以调用`startActivityForResult()`。然后,在Activity接收到结果后,通过`onActivityResult()`回调将结果传回Fragment。 - ...
- Fragment之间可以通过`onActivityResult()`回调、`setTargetFragment()`和`getTargetFragment()`、接口回调或者事件总线等方式进行通信。 7. **保存Fragment状态**: - 当Activity被销毁并重建(例如屏幕旋转)...
- `onActivityResult()`方法可以让Fragment响应Activity的返回结果。 - `setArguments()`和`getArguments()`用于在Fragment创建时传递数据。 5. **Fragment的动态加载** - 动态加载Fragment通常是在运行时根据...
这个压缩包提供的"5.7"可能是指一个示例项目,包含了关于Fragment的完整代码实现和详细注释,这对于学习和理解Fragment的实际用法非常有帮助。通过阅读和运行这个例子,开发者可以深入理解Fragment的用法,以及如何...
Fragment可以处理自己的输入事件,通过重写`onTouchEvent()`或`onInterceptTouchEvent()`方法,你可以控制Fragment如何响应用户的触摸操作。 总之,Fragment是Android开发中的重要组成部分,它使得构建适应不同...
1. **回调方法**:Fragment可以重写`onActivityResult()`等生命周期方法,当Activity的结果改变时,Fragment可以接收到通知。 2. **Interface**:创建一个自定义接口,Fragment和Activity都实现这个接口,通过调用...
在Android应用开发中,`onActivityResult`和`onRequestPermissionsResult`是两个重要的回调方法,用于处理从其他Activity返回的结果和权限请求。然而,在大型项目或复杂应用中,管理这些请求码(requestCode)可能会...
4. **通信机制**:Fragment可以通过onActivityResult()处理来自Activity的结果,或使用setArguments()和getArguments()传递数据;与Activity之间的通信则可通过接口回调或EventBus等第三方库实现。 5. **布局嵌套**...
例如,通过重写`onActivityResult()`方法,Fragment可以接收Activity的结果。 6. **Fragment的保存和恢复状态**:当设备旋转或其他原因导致Activity重建时,Fragment的状态可能会丢失。你可以通过重写`...
6. **通信和协调**:Fragment之间或Fragment与Activity之间的通信可以使用`onActivityResult()`、`setArguments()`和`getArguments()`、接口回调、EventBus或LiveData等方法。 通过以上步骤,你就可以在Android平板...
总的来说,Activity和Fragment的生命周期管理是Android开发中的基础,理解并熟练运用它们的生命周期方法,可以帮助我们编写出更稳定、响应更快的应用。通过不断的实践和学习,开发者能够更好地应对各种复杂场景,...
例如,当Fragment的状态发生变化时,可以调用`onActivityResult()`或`onOptionsItemSelected()`等方法,将这些变化通知给Activity。同时,Activity也可以通过接口或事件总线(如Otto或EventBus)向Fragment传递信息...
Fragment并不是Activity的替代品,而是Activity的补充。一个Activity可以包含多个Fragment,每个Fragment代表UI的一部分,比如一个列表、一个对话框或者一个内容视图。Fragment有自己的生命周期,与Activity生命周期...
在Android开发中,`Fragment`和`ViewPager`的结合使用是一种常见的实现屏幕滑动切换的布局方式,尤其在创建响应式、多面板的应用界面时。`Fragment`是Android中的一个组件,它允许开发者在活动中添加或移除部分用户...
9. **动态加载Fragment**:在某些情况下,我们可能需要根据用户的操作或网络响应动态加载Fragment,这时可以在需要时调用`FragmentManager`的方法添加或替换Fragment。 10. **Fragment的保存和恢复状态**:当...
5. **通信与交互**:Fragment可以通过`onActivityResult()`和`onAttach()`等方法与Activity进行通信,也可以通过`FragmentManager`和`FragmentTransaction`来管理其他Fragment的生命周期。此外,Fragment之间还可以...
例如,Fragment可以通过`onActivityResult()`回调响应Activity的结果,或者使用`getActivity()`方法获取到宿主Activity的引用进行直接交互。 **Fragment的回退栈管理** 回退栈允许用户通过按下后退键撤销Fragment...