android 怎么在自定义控件中获取控件所在fragment的实例

android 怎么在自定义控件中获取控件所在fragment的实例,第1张

在构造方法,或者set方法等注入fragment,类似很多自定义控件使用Context一样。

可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。

使用Fragment时,需要继承Fragment或者Fragment的子类(DialogFragment, ListFragment, PreferenceFragment, WebViewFragment)。

从fragment中跳转和从activity中跳转类似,只不过你要先通过fragment的getActivity方法获取到显示这个fragment的activity,具体代码是这样的:

Intent intent = new Intent();

intentsetActivity(getActivity(), TargetActivityclass);

startActivity(intent); //这里用getActivity()startActivity(intent);

如果不返回结果的话,第三行代码没什么区别,如果要返回一个结果的话,可以有类似的两种方法:

//直接从fragment中跳转

startActivityForResult(intent, REQUEST_CODE);

这种写法接收返回的结果要在fragment中重写onActivityResult()方法;

//从activity中跳转

getActivity()startActivityForResult(intent, REQUEST_CODE);

这种写法要在Activity中重写onActivityResult()方法。

一种思路是定义一个接口,如 OnDecoratorSelectListener,然后Activity实现这个接口,当Fragment里面选择了一个脸型的时候,调用((OnDecoratorSelectListener)getActivity)onDecoratorSelect(xxx); 未必正确,仅供参考

Fragment当然是在Activity onCreate方法中创建

启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。

当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。

当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。

当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。

用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。

当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。

用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。

以上就是关于android 怎么在自定义控件中获取控件所在fragment的实例全部的内容,包括:android 怎么在自定义控件中获取控件所在fragment的实例、android开发 怎么从fragment中通过控件跳到另一个activity、如何获取activity的所有fragment等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9529172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存