Android简单的将Activity改为Fragment

开发android有时会遇到这样的问题,那就是需要将Activity改造成Fragment。

本来Fragment是新的android版本上的东西,不过既然google这么亲切的提供了向下兼容的包。那么总会有这样的需要的时候,好在Activity到Fragment的转化并不复杂,因为本来就是相似的东西。最近就遇到了这的问题,于是来总结一下经验。

从Activity到Fragment最大的变动在于,在Fragment里面的onCreate()函数内,是没有办法使用findViewById、setContentView这些函数的。因为Fragment本身并没有提供这些方法。于是我们只能通过onCreateView和onViewCreated来实现对显示的控制。

而一些Fragment没有提供的属于Activity的函数我们可以通过getActivity()得到作为parent的Activity来调用,因为Fragment只是作为片段提供给Activity使用的,所以很多功能的实现都被留在了Activity里面。不过无论如何,只要利用Eclipse自带的查错功能可以非常快速的完成这些操作。这种改动一般不会很复杂,只要把Fragment要做的事情交给作为parent的Activity处理就可以了。比如像Intent的处理就可以这样:

 

本博客所有内容遵循CC BY-NC-SA 4.0协议, 如有转载,请注明出处。
3 条评论

    感谢分享,对我很有用


    感谢,原来这么简单,多数人用LocalActivityManager,但这个类毕竟标记为deprecated了,所以还是用这个最正确!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">