中級思路

1闷板, 二級列表(ExpandableListView)

①創(chuàng)建布局,找控件

②獲取數據:死數據院塞、網絡數據

創(chuàng)建適配器:10個方法要掌握

④設置適配器

⑤父項遮晚、子項點擊事件

⑥基本屬性


2, Listview手動迫悠、自動加載更多

1) Listview

①創(chuàng)建布局鹏漆,找控件

②獲取網絡數據

③創(chuàng)建適配器:兩個優(yōu)化(必會)

④設置適配器



(2) Listview手動加載更多

①創(chuàng)建布局巩梢,找控件

②獲取網絡數據

③創(chuàng)建適配器:兩個優(yōu)化(必會)

④設置適配器

⑤給Listview添加一個footer

⑥點擊footer中button加載更多:page++创泄,獲取數據


(3) Listview自動加載更多

①創(chuàng)建布局,找控件

②獲取網絡數據

③創(chuàng)建適配器:兩個優(yōu)化(必會)

④設置適配器

⑤定義一個變量isBottom表示是否滑到底部

⑥Listview設置滑動監(jiān)聽


3括蝠, 側滑菜單

①添加依賴

②創(chuàng)建布局:DrawerLayout鞠抑、NavigationView(三個屬性、menu)

③設置actionbar:toolbar設置標題忌警、logo搁拙、關聯toobar和側滑菜單

④監(jiān)聽事件:頭部監(jiān)聽、側滑菜單監(jiān)聽法绵、DrawerLayout箕速、代買開關側滑菜單

⑤沉浸式狀態(tài)欄


4, 選項菜單

①創(chuàng)建選項菜單(onCreateOptionsMenu):兩種方式-代碼和menu(showAsAction)

②選項菜單的點擊事件(onOptionsItemSelected):switch


5, 上下文菜單

①注冊上下文菜單:registerForContextMenu()

②創(chuàng)建上下文菜單:onCreateContextMenu()

③上下文菜單點擊事件:onContextItemSelected()


5, RecyclerView基本使用

①添加依賴(版本問題注意)

②創(chuàng)建布局(寬高必須是充滿的)

③找控件

④設置布局管理器(三種顯示方式:線性布局朋譬、網格布局盐茎、瀑布流布局)

⑤獲取數據(切換子線程的方法)

創(chuàng)建適配器-- 重寫三個,通過接口回調實現點擊事件

⑦設置適配器



7, RecyclerView多布局一:list+banner

① RecyclerView基本使用

②定義類型常量

③重寫方法getItemViewType()根據位置返回不同類型

④重寫oncreateViewHolder()根據不同類型加載不同的布局

⑤重寫onBindViewHolder()根據不用類型加載不同數據


8, RecyclerView多布局二:奇數位置左圖右文字+偶數位置左文字右圖片

① RecyclerView基本使用(看6)

②定義類型常量

③重寫方法getItemViewType()根據位置返回不同類型

④重寫oncreateViewHolder()根據不同類型加載不同的布局

⑤重寫onBindViewHolder()根據不用類型加載不同數據

注意:沒有7中注意


9. RecyclerView通過接口回調實現點擊事件

①在adapter定義一個內部接口徙赢,內部接口定義一個方法字柠,方法參數是我們需要返回值的;

②在adapter定義接口變量狡赐,并設置set方法

③在onBindVIewholder()中窑业,給條目做一個點擊事件

④在fragment或者activity中,使用adapter對象調用點擊事件即可


10, RecyclerView添加刷新

①添加依賴

②在布局中添加刷新的控件并找控件

③給刷新控件添加加載更多枕屉、下拉刷細膩添加監(jiān)聽常柄,監(jiān)聽中寫具體代碼

④刷新完畢列表,關閉SmartRefreshLayout頭和腳搀擂。



四拐纱、fragment

1. 靜態(tài)添加fragment

①創(chuàng)建一個fragment

②創(chuàng)建布局,把①中的fragment放到布局中

注意:

①必須要有id哥倔,否則:Caused by: java.lang.IllegalArgumentException: Binary XML file line #9: Must specify unique android:id, android:tag, or have a parent with an id for com.anfly.fragmentr.AFragment

②布局中必須添加屬性name秸架,值該fragment全類名


2. 動態(tài)添加fragment

//獲取碎片管理器

FragmentManager fm=getSupportFragmentManager();

//開啟事務

FragmentTransaction fragmentTransaction=fm.beginTransaction();

//獲取fragment對象

AFragment aFragment=newAFragment();

//替換容器中內容

fragmentTransaction.replace(R.id.fl_container,aFragment);

//提交事務fragmentTransaction.commit();


3. Transaction常用方法

①add

②remove

③replace

④hide

⑤show

⑥attach

⑦detach

⑧commit


4. fragment生命周期

①onAttach()

②onCreate()

③onCreateView()

④onActivityCreated()

⑤onStart()

⑥onResume()

⑦onPause()

⑧onStop()

⑨onDestroyView()

⑩onDestroy()

?onDetach()


5. fragment傳遞數據到activity

①獲取activity對象,直接調用方法

MainActivity activity = (MainActivity) getActivity();activity.getMsgFromFramgent("我是來自fragment的數據");

②接口回調傳遞數據

Java接口與接口回調在Android中的使用

③通過fragment的有參構造傳數據(不推薦)


6. activity傳遞數據到fragment

①通過bundle方式傳值

activity中:

AFragment aFragment=newAFragment();

Bundle bundle=newBundle();bundle.putString("a","我是來自activity的數據");

aFragment.setArguments(bundle);

fragment中:

Bundle bundle=getArguments();

String a=bundle.getString("a");


7. fragment與fragment之間傳遞數據

①通過構造方式傳值(不推薦)

②通過FragmentManager找到對應Id或者Tag的Framgment,然后獲取里面的數據或方法

③通過它們所在的Activity作為橋梁,可以使用getActivity()或者接口回調,達到獲取另一個Fragment數據的目的.


8. RadioGroup底部導航結合Fragmentr切換


五咆蒿、ViewPager+tablayout

1. ViewPager結合view實現導航

①創(chuàng)建布局找控件

②獲取數據集合

創(chuàng)建適配器:getCount()isViewFromObject()? instantiateItem()destroyItem()

④設置適配器


2. Viewpager結合Fragment實現導航

①創(chuàng)建布局找控件

②獲取fragment的集合fragments

創(chuàng)建適配器:FragmentStatePagerAdapter和FragmentPagerAdapter區(qū)別以及內部方法

④設置適配器


3. Banner開源框架

官方

banner.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE)

//設置風格.setImages(images)

//設置圖片集合.setBannerAnimation(Transformer.DepthPage)

//設置動畫.setBannerTitles(titles)

//直接添加無效东抹,必須設置BannerStyle.setImageLoader(newGlideImageLoader())

//圖片加載器.start();


4蚂子, Tablayout

①屬性

TVF

①創(chuàng)建布局找控件:TV

②創(chuàng)建兩個集合:fragments和titles

③創(chuàng)建適配器:四個方法(包含一個構造)

④設置適配器

⑤TV結合:tab.setupWithViewPager(vp);

⑥設置圖片選擇器tab.getTabAt(0).setIcon()


```

①創(chuàng)建布局找控件:TV

②創(chuàng)建兩個集合:fragments和titles

③創(chuàng)建適配器:四個方法(包含一個構造)

④設置適配器

⑤TV結合:tab.setupWithViewPager(vp);

⑥設置圖片選擇器tab.getTabAt(0).setIcon()

```


6. TVF涉及到的懶加載


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市缭黔,隨后出現的幾起案子食茎,更是在濱河造成了極大的恐慌,老刑警劉巖馏谨,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件别渔,死亡現場離奇詭異,居然都是意外死亡惧互,警方通過查閱死者的電腦和手機哎媚,發(fā)現死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喊儡,“玉大人拨与,你說我怎么就攤上這事“拢” “怎么了买喧?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長匆赃。 經常有香客問我淤毛,道長,這世上最難降的妖魔是什么算柳? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任低淡,我火速辦了婚禮,結果婚禮上埠居,老公的妹妹穿的比我還像新娘查牌。我一直安慰自己,他們只是感情好滥壕,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布纸颜。 她就那樣靜靜地躺著,像睡著了一般绎橘。 火紅的嫁衣襯著肌膚如雪胁孙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天称鳞,我揣著相機與錄音涮较,去河邊找鬼。 笑死冈止,一個胖子當著我的面吹牛狂票,可吹牛的內容都是我干的。 我是一名探鬼主播熙暴,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼闺属,長吁一口氣:“原來是場噩夢啊……” “哼慌盯!你這毒婦竟也來了?” 一聲冷哼從身側響起掂器,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤亚皂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后国瓮,有當地人在樹林里發(fā)現了一具尸體灭必,經...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年乃摹,在試婚紗的時候發(fā)現自己被綠了禁漓。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡峡懈,死狀恐怖璃饱,靈堂內的尸體忽然破棺而出与斤,到底是詐尸還是另有隱情肪康,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布撩穿,位于F島的核電站磷支,受9級特大地震影響,放射性物質發(fā)生泄漏食寡。R本人自食惡果不足惜雾狈,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抵皱。 院中可真熱鬧善榛,春花似錦、人聲如沸呻畸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伤为。三九已至咒循,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绞愚,已是汗流浹背叙甸。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留位衩,地道東北人裆蒸。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像糖驴,于是被迫代替她去往敵國和親僚祷。 傳聞我的和親對象是個殘疾皇子哪痰,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容

  • 二級列表(ExpandableListView) ①創(chuàng)建布局,找控件 ②獲取數據:死數據久妆、網絡數據 ③創(chuàng)建適配器:...
    俗野_9628閱讀 231評論 0 0
  • 1.ExpandableListView (二級列表) ①創(chuàng)建布局 找控件②獲取數據 (死數據 晌杰,網絡數據)③創(chuàng)建...
    傾都幽夢閱讀 394評論 0 0
  • 前言 ①方法:思路+案例、預習思路②補充知識點:debug筷弦、代碼規(guī)范肋演、約束布局③學生講課:三四節(jié)課學生講課(學委-...
    Anwfly閱讀 1,034評論 0 6
  • 一 二級列表(ExpandableListView) 1.1 死數據步驟: ①創(chuàng)建布局找控件②數據源(兩個集合:g...
    Brilliancess閱讀 592評論 0 5
  • 2017年最后一個月12月,過的很快烂琴,已經過完爹殊,整個2017年也結束了,這個月參加了五期行動營奸绷,感覺過的比較懶散梗夸,...
    小鵬strive閱讀 380評論 7 9