Android简单的将Activity改为Fragment

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

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

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

return inflater.inflate(R.layout.about_detail, container, false);

}

@Override

public void onViewCreated(View view, Bundle savedInstanceState) {

super.onViewCreated(view, savedInstanceState);

version = (TextView) view.findViewById(R.id.version);

loginfo = (TextView) view.findViewById(R.id.loginfo);

}

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

Intent i = new Intent();
i.setClass(getActivity().getApplicationContext(), NewActivity.class);
startActivity(i);
getActivity().finish();

http://blog.ch-wind.com/android%E7%AE%80%E5%8D%95%E7%9A%84%E5%B0%86activity%E6%94%B9%E4%B8%BAfragment/

时间: 2024-10-24 20:12:50

Android简单的将Activity改为Fragment的相关文章

android通过url下载图片并实现fragment与activity的图片交互

增加了图片放大缩小功能,一共用到三个类.MainActivity仅作为添加fragment用,其全部代码如: package com.example.ex_1213_mypic; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentT

史上最简单的的Activity嵌套fragment

首先声明三点: 1.在需要嵌套Fragment的activity必须继承android.support.v4.app.FragmentActivity 2.嵌套的Fragment必须继承android.support.v4.app.Fragment 3.此教程仅适用于新手或者老手查阅 先上一个目录结构: 步骤: 1.新建一个嵌套fragment的activity:MainAcitivity.java和对应的布局文件main_activity.xml main_activity.xml <?xml

Android基础笔记(十八)- Fragment

博客的感悟终点-开始 什么是Fragment 添加fragment到Activity的两种方式 Fragment的生命周期 Fragment的向下兼容 Fragment之间的通信 博客的感悟,终点-开始 这个是基础的最后一篇博客了,学习了很多,也有很多感触. 就在这里大致总结一下. 坚持往往很难,完美的坚持下去更难.这是写这十八篇博客的感悟. 时间流失的很快,总是感觉时间不够用.慢慢的就会让自己博客的质量下降.今天反思了一下,我这样不就是在制造"破窗户"吗?(破窗户理论不知道的可以去看

【Android】多个Activity之间利用bundle传递数值

安卓中的Activity相当于vb,mfc中的窗体,在多个Activity之间传递数据是一个相当核心的功能.下面举个例子来说明这个问题. 一.基本目标 用户在两个输入框中输入用户名.密码之后,跳到另一个Activity当中,显示其输入的内容, 然后这两个Activity能够轻松跳转. 二.制作过程 1.首先MainActivity的登录界面是沿用了<[Android]利用表格布局,Android中xml文件与java的交互制作登录界面>(点击打开链接)的布局,其布局文件activity_mai

Android手机平板两不误,使用Fragment实现兼容手机和平板的程序

本文首发于CSDN博客,转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8744943 记得我之前参与开发过一个华为的项目,要求程序可以支持好几种终端设备,其中就包括Android手机和Android Pad.然后为了节省人力,公司无节操地让Android手机和Android Pad都由我们团队开发.当时项目组定的方案是,制作两个版本的App,一个手机版,一个Pad版.由于当时手机版的主体功能已经做的差不多了,所以Pad版基本上就

Android简单的编写一个txt阅读器(没有处理字符编码),适用于新手学习

本程序只是使用了一些基本的知识点编写了一个比较简单粗陋的txt文本阅读器,效率不高,只适合新手练习.所以大神勿喷. 其实想到编写这种程序源自本人之前喜欢看小说,而很多小说更新太慢,所以本人就只能找一个完本的.txt小说下载下来,有没有网络都可以看,当然现在不看那玩意了. 废话就不说了,程序中使用到的有4个类,5个xml文件,其中3个布局文件.String.xml.AndroidManifest.xml. 先看效果图吧(虽然很丑):     下面就上代码吧,本人都注释好了,由于本人技术还不行,注释

Android基础入门教程——5.2.1 Fragment实例精讲——底部导航栏的实现(方法1)

Android基础入门教程--5.2.1 Fragment实例精讲--底部导航栏的实现(方法1) 标签(空格分隔): Android基础入门教程 本节引言: 在上一节中我们对Fragment进行了一个初步的了解,学习了概念,生命周期,Fragment管理与 Fragment事务,以及动态与静态加载Fragment.从本节开始我们会讲解一些Fragment在实际开发 中的一些实例!而本节给大家讲解的是底部导航栏的实现!而基本的底部导航栏方法有很多种, 比如全用TextView做,或者用RadioB

《Android进阶》之第六篇 Fragment 的使用2

最近通过学习,对fragment的使用有了新的认识. 一开始接触android的时候,很是受不了这个fragment,总感觉它把一个简单的事情搞复杂啦,所以每次新建工程的时候总是固执的选择empty Activity 但是后来发现这样写出来的代码移植的时候总是要该来该去,现在开始偏爱带fragment的工程向导 向导默认生成一个JAVA文件,和两个布局文件 MainActivity.JAVA package com.example.tesf; import android.app.Activit

Android ActionBar通过Tab进行不同的Fragment之间的交换

ActionBar的使用常见于4.0系统,其Tab的使用挺广泛的. 在ActionBar中添加标签(Tabs),每个标签对应的是一个Fragment,点击不同的Tab时,就会切换到对应的Fragment. 大致的步骤如下: 1.如同TabHost控件,每个tab下需要添加内容,这个内容需要结合fragment来显示,因此需创建fragment类,有几个tab就需要几个继承Fragment的类: 2.将fragment添加至ActionBar Tab上,并添加tab监听: 3.监听内部类需要实现A