1. 程式人生 > >Android RecyclerView介面卡的基本工作流程

Android RecyclerView介面卡的基本工作流程

RecyclerView是一個高階的SrollView,我以前是這麼理解的,準確的來說它是ListView的plus版。
(原始碼來自優達學城練習題+作者手寫)

和ListView一樣少不了介面卡,並且要在介面卡中實現ViewHolder,item的View物件將在這裡(ViewGroup)例項化。

*介面卡需要重寫三個方法*

1.onCreateViewHolder
建立ViewHolder,指定一個將被填充的ViewGroup,和int型別引數來說明layout的種類.

public NumberViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
    Context context = viewGroup.getContext();//用於建立填充器
    int layoutIdForListItem = R.layout.number_list_item;//獲得Item的ID
    LayoutInflater inflater = LayoutInflater.from(context);//建立填充器
    boolean shouldAttachToParentImmediately = false;
    //通過填充器建立View物件,(子類的id,父類物件,)
    View view = inflater.inflate(layoutIdForListItem, viewGroup, shouldAttachToParentImmediately);
    NumberViewHolder viewHolder = new NumberViewHolder(view);

    return viewHolder;
}

2.onBindViewHolder
呼叫ViewHolder中的bind方法

public void onBindViewHolder(NumberViewHolder holder, int position) 
    {
            Log.d(TAG, "#" + position);
            holder.bind(position);
        }

3.getItemCount

  public int getItemCount() {
        return mNumberItems;
    }
  *此方法返回要顯示的專案數。 它被系統後臺使用
  *幫助佈局。
 *
  * @return我們的預測中可用的專案數

=============================================================================
ViewHolder部分
用於例項化Item,在構造方法中建立。

============================================================================
最後一步,需要我們在Acitivity中進行最後的操作

1.例項化RecyclerView,Adapter
2.為RecyclerView設定佈局管理器
3.將介面卡繫結到RecyclerView
4.UI優化

`
setHasFixedSize(true);