天天看點

Fragment問題集

最近做一個APP  ,因為在慕課網上學習到了新的方法來做Tab(APP主界面)效果,是以剛學不久久用起來了

用的Fragment實作Tab方法

查詢了一下午的安卓資料,關于這個東西是在安卓3.0以後的版本出來的,為了友善的控制主界面,使代碼更加容易完成和更容易後期維護

怎麼說,fragment就是一個子activity

慕課網是隻是點到怎麼用Fragment來建構Tab,但是用起來,在fragment中寫代碼就沒有講

自己做了下,一開始是按着activity的方法來做的,結果發現很多問題,百度了一下,解決了一部分,因為初用Fragment是以必定以後還會發現更多的問題,是以在此将關于Fragment的問題總結一下

問題一:控件的使用

布局檔案.xml和activity中的使用方法是一樣的

但是在.java檔案中就不一樣了,比如ImageButton

private ImageButton image_country_zhong;      

之後在activity中的初始化是:

1 back = (ImageButton) findViewById(R.id.goback);      

而在fragment中的初始化則是:

1     back = (ImageButton) view.findViewById(R.id.back);      

問題二:this的問題

在activity中。比如:

1  SimpleAdapter saItem = new SimpleAdapter(this,meumList,R.layout.item, new String[]{"ItemImage","ItemText"},new int[]R.id.ItemImage,R.id.ItemText});        

而在fragment中就要:

1  SimpleAdapter saItem = new SimpleAdapter(getActivity(),       meumList, R.layout.item, new tring[]"ItemImage","ItemText"},new int[]{R.id.ItemImage,R.id.ItemText});        

差別就是:第一個參數,Activity中的this換成了Fragment中的getActivity(),Fragemnt 和Activity是宿主和依托者的關系,用法差不多,但是必須要依托Activity,在Fragement中額上下文必須要得到宿主的上下文

未完待續!

繼續閱讀