這兩天吧fragment寫了幾遍,,,說說感受,android
個人列表中的listView一直,沒有初始化,就當作參數傳給了listView的Adapter中因此程序一直不運行.報錯can't find provider info for ..blabla.(這實際上是我胡亂聲明變量形成的錯誤,在方法內聲明瞭list變量,致使全局變量List沒有初始化.)ide
對於fragment,其實就是三部分:佈局
.第一部分是你要爲這個fragment寫一個layout佈局.也就是它的面目是啥樣的你先設計出來.測試
第二,你要創建一個***fragmen繼承自fragment.這裏是你寫這個頁面中各類邏輯的地方,你要初始化出頁面顯示內容,寫出你可能要用的方法,等等,這裏 有使用view = inflater.inflate(R.layout.news_content_frag, container, false);來得到view實例做爲返回值這是oncreatView方法的重寫.使用此view就能夠調用findViewbyId方法來寫邏輯了. spa
第三, 你想一想你有了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,會報空指針錯誤.orm
關於限定符,layout-sw600dp的用法你要知道才行啊,其餘的沒有深看xml
大小
small 提供給小屏幕設備的資源
normal 提供給中等屏幕設備的資源
large 提供給大屏幕設備的資源
xlarge 提供給超大屏幕設備的資源
分辨率
ldpi 提供給低分辨率設備的資源(120dpi 如下)
mdpi 提供給中等分辨率設備的資源(120dpi 到160dpi)
hdpi 提供給高分辨率設備的資源(160dpi 到240dpi)
xhdpi 提供給超高分辨率設備的資源(240dpi 到320dpi)
方向
land 提供給橫屏設備的資源
port 提供給豎屏設備的資源繼承