Android 初学Fragment
来源:互联网 发布:淘宝开店过程心得体会 编辑:程序博客网 时间:2024/06/04 22:46
作为一名Android初学者,刚做了一个基于Android 4.0的项目,其中遇到很多问题,涉及到新特性方面的问题很难解决,毕竟市面上4.0的书籍很少。而Tab导航就是其中之一。下面总结了对于Android初学者而言,可能遇到的问题。
这篇文章只针对初学者。
Android 3.0以后就不再提倡使用TabHost,而是用Fragment替代。以前做Tab导航,每一栏对应一个Activity,非常方便。但是现在Fragment出来以后,整个Tab只有一个Activity了。
在这个Activity中,怎么去添加Tab导航,这里就不讲了,毕竟网上有很多教程,下面主要给出在每个Fragment中遇到的问题。
1、基本框架。
这个问题,其实不用多讲,只要涉及到这方面的书籍或者博客都会讲到。
首先要让这个java class继承Fragment类,然后实现onCreateView()函数,在这个onCreateView()函数中必须返回inflate()函数,其中包含了这个Fragment的布局文件。这就是一个最普通的Fragment。
2、获取布局文件中的元素。
布局文件中一般会有TextView,Button等元素,如果采取Activity中的方式,是不能成功的。
比如
这时,你有多种办法解决。
(1)直接访问绑定到该Fragment的Activity。
(2)把布局文件实例化
在Activity中使用了别的布局文件,一般需要实例化布局文件,获取其中的元素也是同样的道理。
3、跳转Activity
在Fragment中跳转到非绑定的Activity时,构建Intnet时,第一个参数是绑定的Activity,因为这是Activity与Activity之间的跳转,一样的需要用getActivity()函数。你不可能直接通过Fragment跳转到其他Activity的。
其实Fragment与Activity差不多,同样有自己的生命周期。但是需要注意Fragment与它绑定的Activity间的信息交互,以及Fragment与绑定到同一个Activity的Fragment间的信息交互。
做的时候问题很多,做完之后回过头来看,其实都是很简单的东西。完全是因为对Android缺乏足够的了解。
一本非常厚非常详细的书,一点点看完,那么Android已经进入新的版本,或者是消失了。所以在这种书最好作为工具书用,平时还是多做些东西练手吧。虽然你经常被困在这些常识问题上。
但是,只有在经常为这些简单的问题苦恼,才能提高自己的编程能力。
这篇文章只针对初学者。
Android 3.0以后就不再提倡使用TabHost,而是用Fragment替代。以前做Tab导航,每一栏对应一个Activity,非常方便。但是现在Fragment出来以后,整个Tab只有一个Activity了。
在这个Activity中,怎么去添加Tab导航,这里就不讲了,毕竟网上有很多教程,下面主要给出在每个Fragment中遇到的问题。
1、基本框架。
这个问题,其实不用多讲,只要涉及到这方面的书籍或者博客都会讲到。
首先要让这个java class继承Fragment类,然后实现onCreateView()函数,在这个onCreateView()函数中必须返回inflate()函数,其中包含了这个Fragment的布局文件。这就是一个最普通的Fragment。
- Java code
- public class ABC extends Fragment { @Override public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle saveInstanceState) { return inflater.inflate(R.layout.abc, container, false); }}
2、获取布局文件中的元素。
布局文件中一般会有TextView,Button等元素,如果采取Activity中的方式,是不能成功的。
比如
- Java code
- TextView textview=(TextView)findViewById(R.id.text);
这时,你有多种办法解决。
(1)直接访问绑定到该Fragment的Activity。
- Java code
- TextView textview=(TextView)getActivity().findViewById(R.id.text);
(2)把布局文件实例化
- Java code
- public class ABC extends Fragment { @Override public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle saveInstanceState) { View root=inflater.inflate(R.layout.abc, container, false); TextView textview=(TextView)root.findViewById(R.id.text); return root; }}
在Activity中使用了别的布局文件,一般需要实例化布局文件,获取其中的元素也是同样的道理。
3、跳转Activity
在Fragment中跳转到非绑定的Activity时,构建Intnet时,第一个参数是绑定的Activity,因为这是Activity与Activity之间的跳转,一样的需要用getActivity()函数。你不可能直接通过Fragment跳转到其他Activity的。
- Java code
- Intent intent=new Intent(getActivity(),def.class);
其实Fragment与Activity差不多,同样有自己的生命周期。但是需要注意Fragment与它绑定的Activity间的信息交互,以及Fragment与绑定到同一个Activity的Fragment间的信息交互。
做的时候问题很多,做完之后回过头来看,其实都是很简单的东西。完全是因为对Android缺乏足够的了解。
一本非常厚非常详细的书,一点点看完,那么Android已经进入新的版本,或者是消失了。所以在这种书最好作为工具书用,平时还是多做些东西练手吧。虽然你经常被困在这些常识问题上。
但是,只有在经常为这些简单的问题苦恼,才能提高自己的编程能力。
- Android 初学Fragment
- 【Android 初学】15、Fragment
- 初学Android Fragment
- 初学android开发--Fragment
- Android初学习 - Fragment解析01
- Android初学习 - Fragment解析02
- Android初学习 - Fragment解析03
- Android初学习 - ViewPager与Fragment初步
- Fragment 初学
- 初学Android之Tablayout+Fragment+ImageLoader(低仿知乎)
- Fragment 初学理解
- Fragment初学7——Fragment在Android开发中的应用1
- Fragment初学8——Fragment在Android开发中的应用2
- Fragment初学1——Fragment简介
- Fragment初学2——使用Fragment
- 初学安卓-----Fragment生命周期
- Android初学
- 初学Android
- 国外数据挖掘方面的经典博客
- 【PHP操作Excel、CSV】
- PHP抓取淘宝搜索商品列表实例
- 【Linux应用程序设计1、2】守护进程概念及实验二则
- 第18贴:电机绕线
- Android 初学Fragment
- A*寻路初探
- 误解程序运行(从单片机到开始)
- 第19贴:
- 20121107荣迪信息技术有限公司面试总结
- html标记分类
- socket通信趣解
- jqGrid学习笔记(一)
- 第十五章 集合框架