CardView, RecyclerView example
使用新版的 RecyclerVeiw 需要先加入 :
compile 'com.android.support:cardview-v7:23.0.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
跟這次要用的 cardview
之後就可以在 layout.xml 新增一個 recyclerview
之後到 main find 它使用
recyclerView = (RecyclerView) findViewById(R.id.rv);
這裡跟 listview 比較特別的地方是要去設定 layoutmanager
recyclerView.setLayoutManager(new LinearLayoutManager(this));
然後就可以等 setadapter ()
Cardview
開一個 class 繼承 recyclerview.adapter
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {}
viewholder 部分繼承 Recyclerview.ViewHolder
public static class ViewHolder extends RecyclerView.ViewHolder {}
然後 implent methods
oncreateviewholder 部分去指定自訂的 layout
View v = LayoutInflater.from(context).inflate(R.layout.cardview,parent,false);
回傳回 holder
return new ViewHolder(v);
cardviewlayout 部分這裡開一個叫 cardview.xml 來自訂
範例包了兩個 textview, imageview
cardview 比起 listview 多了可以設定圓角
card_view:cardCornerRadius="25dp"
還有陰影
card_view:cardElevation="100dp"
然後回到 adapter 的 viewholder find 上圖
資料部分範例用 android query 取得 url 資料
這裡使用一個 cardviewitems 去處理收到的資料
回到 apadter 的 bindviewholder 把 find 好的物件塞進去處理好的值就差不多了
recyclerView.setAdapter(myAdapter);
數量就依照抓到的資料來自動產生
public int getItemCount() { return cardViewAdapters.size();}
build 樣子
之後只要後端更改卡片也會跟著產生了