您的位置:首页 > 移动开发 > Android开发

android 成长日记 9.Fragment学习过程总结,口述版

2016-03-04 16:24 615 查看
这两天吧fragment写了几遍,,,说说感觉,

我的列表中的listView一直,没有初始化,就当做参数传给了listView的Adapter中所以程序一直不运行.报错can't find provider info for ..blabla.(这其实是我胡乱声明变量造成的错误,在方法内声明了list变量,导致全局变量List没有初始化.)

对于fragment,其实就是三部分:
.第一部分是你要为这个fragment写一个layout布局.也就是它的面目是啥样的你先设计出来.
第二,你要建立一个***fragmen继承自fragment.这里是你写这个页面中各种逻辑的地方,你要初始化出页面显示内容,写出你可能要用的方法,等等,这里 有使用view = inflater.inflate(R.layout.news_content_frag, container, false);来获得view实例作为返回值这是oncreatView方法的重写.使用此view就可以调用findViewbyId方法来写逻辑了.
第三, 你想想你有了fragment你该怎么用,你要把他放到另一个layout中,你需要建立一个fragment布局文件.把此fragment类的全地址以Android:name参数传入.这就代表此layout和fragment类attch再一起了....但是你依然是不能用的为啥??
第四.(有第四,别问我,写的时候突然感觉少点啥,)你为了使用fragment建立了一个android.xml文件也就是layout文件,你必须的写一个类来匹配这个布局吧,所以你要再写一个**fragmentActivity类继承自activity,你把这个类写出来,这里你要找到你fragment布局中控件需要的参数你都要传入.....你获得fragment的实例的办法还记得吗,getFragmentmannager().findFragmentById()从而获得fragment实例就能用其中方法(这是要问李二蛋的我的想法:)一般来说你要写出方法来吧数据填充到控件中,但是假如我不想写方法呢,我是不是可以新建立View view = Layoutinflater.from(getContext()).infalate();方法获得.从而可以设计fragment的控件,\

对于标黄的话,我测试了,根本不用什么建立view,我傻了,因为你本来就在activity里面一切控件可以直接用啊,直接写就好,但是有一点需要注意就是,假如这个fragment没有和activity关联在一起的话,你找的就是null,会报空指针错误.

关于限定符,layout-sw600dp的用法你要知道才行啊,其他的没有深看

大小
small 提供给小屏幕设备的资源
normal 提供给中等屏幕设备的资源
large 提供给大屏幕设备的资源
xlarge 提供给超大屏幕设备的资源
分辨率
ldpi 提供给低分辨率设备的资源(120dpi 以下)
mdpi 提供给中等分辨率设备的资源(120dpi 到160dpi)
hdpi 提供给高分辨率设备的资源(160dpi 到240dpi)
xhdpi 提供给超高分辨率设备的资源(240dpi 到320dpi)
方向
land 提供给横屏设备的资源
port 提供给竖屏设备的资源
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  fragment