Android RecyclerView介面卡的基本工作流程
阿新 • • 發佈:2019-02-07
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);