11package cn .junhua .android .commonadapter .activity ;
22
33import android .os .Bundle ;
4+ import android .os .Handler ;
45import android .support .annotation .Nullable ;
56import android .support .v7 .app .AppCompatActivity ;
67import android .support .v7 .widget .GridLayoutManager ;
78import android .support .v7 .widget .RecyclerView ;
9+ import android .widget .Toast ;
810
911import java .util .ArrayList ;
1012import java .util .List ;
1113
1214import cn .junhua .android .adapter .MultiTypeAdapter ;
1315import cn .junhua .android .commonadapter .R ;
16+ import cn .junhua .android .commonadapter .bean .hint .HintBean ;
1417import cn .junhua .android .commonadapter .bean .taobao .BannerBean ;
1518import cn .junhua .android .commonadapter .bean .taobao .BigTitleBean ;
1619import cn .junhua .android .commonadapter .bean .taobao .GoodsShowBean ;
1720import cn .junhua .android .commonadapter .bean .taobao .LikeBean ;
1821import cn .junhua .android .commonadapter .bean .taobao .MenuBean ;
22+ import cn .junhua .android .commonadapter .binder .hint .HintItemViewBinder ;
1923import cn .junhua .android .commonadapter .binder .taobao .BannerItemViewBinder ;
2024import cn .junhua .android .commonadapter .binder .taobao .BigTitleItemViewHinder ;
2125import cn .junhua .android .commonadapter .binder .taobao .GoodsShowItemViewHinder ;
3034public class TaobaoActivity extends AppCompatActivity {
3135 private RecyclerView recycler_view ;
3236 private MultiTypeAdapter multiTypeAdapter ;
33- private List <Object > dataList ;
37+ private List <Object > dataList = new ArrayList <>();
38+
3439
3540 @ Override
3641 protected void onCreate (@ Nullable Bundle savedInstanceState ) {
3742 super .onCreate (savedInstanceState );
3843 setContentView (R .layout .activity_recycler_view );
39- dataList = new ArrayList <>();
40- dataList .add (new BannerBean ());
41- dataList .add (new MenuBean ());
42-
43- for (int i = 0 ; i < 2 ; i ++) {
44- dataList .add (new GoodsShowBean ());
45- }
4644
47- dataList .add (new BigTitleBean ("猜你喜欢" ));
48- for (int i = 0 ; i < 10 ; i ++) {
49- dataList .add (new LikeBean ());
50- }
51-
52- recycler_view = (RecyclerView ) findViewById (R .id .recycler_view );
45+ recycler_view = findViewById (R .id .recycler_view );
5346
5447 //设置布局管理器
5548 GridLayoutManager gridLayoutManager = new GridLayoutManager (this , 2 );
@@ -68,13 +61,39 @@ public int getSpanSize(int position) {
6861 //初始化MultiTypeAdapter
6962 multiTypeAdapter = new MultiTypeAdapter ();
7063 //注册ViewBinder
64+ multiTypeAdapter .register (HintBean .class , new HintItemViewBinder ());//一对一
7165 multiTypeAdapter .register (BannerBean .class , new BannerItemViewBinder ());
7266 multiTypeAdapter .register (MenuBean .class , new MenuItemViewHinder ());
7367 multiTypeAdapter .register (LikeBean .class , new LikeItemViewHinder ());
7468 multiTypeAdapter .register (GoodsShowBean .class , new GoodsShowItemViewHinder ());
7569 multiTypeAdapter .register (BigTitleBean .class , new BigTitleItemViewHinder ());
7670
71+ genDataList (true );
7772 multiTypeAdapter .setList (dataList );
7873 recycler_view .setAdapter (multiTypeAdapter );
74+
75+ new Handler ().postDelayed (() -> {
76+ genDataList (false );
77+ multiTypeAdapter .notifyDataSetChanged ();
78+ Toast .makeText (TaobaoActivity .this , "追加数据" , Toast .LENGTH_SHORT ).show ();
79+ }, 3000 );
80+ }
81+
82+
83+ public void genDataList (boolean isFirst ) {
84+ if (!isFirst ) {
85+ dataList .add (new HintBean ());
86+ }
87+ dataList .add (new BannerBean ());
88+ dataList .add (new MenuBean ());
89+
90+ for (int i = 0 ; i < 2 ; i ++) {
91+ dataList .add (new GoodsShowBean ());
92+ }
93+
94+ dataList .add (new BigTitleBean ("猜你喜欢" ));
95+ for (int i = 0 ; i < 10 ; i ++) {
96+ dataList .add (new LikeBean ());
97+ }
7998 }
8099}
0 commit comments