RecycleView條目點選事件的實現方法
* RecyclerView 是5.0推出的一個元件,存在於V7包中,使用需要導包(新增依賴包)
* Recycler 回收,複用
* RecyclerView 就是迴圈利用的View,就是我們Android中ListView的一個昇華
*
* RecyclerView中item最外層的佈局引數是生效的,而ListView的是不生效的
* 更推薦我們書寫具體值去載入佈局
*
* RecyclerView是一個比ListView更加靈活更加高效的介面卡型別控制元件
* 適用於載入一系列的資料集
*
* RecyclerView 與以前學過的ListView,GridView,ViewPager 有什麼區別呢?
* 將顯示方式抽離,使用LayoutManager進行控制
* RecyclerView預設提供三種佈局管理器
* 三種佈局管理器都支援橫縱向排列
* ① LinearLayoutManager 線性佈局管理器,實現ListView,ViewPager效果
* Gallery 畫廊(過時了)
* ② GridLayoutManager 網格佈局管理器,實現GridView效果
* ③ StaggeredGridLayoutManager 瀑布流佈局管理器
*
* 缺點:點選事件丟失
*
我們可以再adapter裡面對條目直接進行設定點選事件 首先是讓adapter實現 View.OnClickListener
然後重寫兩個重要的方法
/**
* 依附在RecyclerView上的時候呼叫可以通過該方法獲得recyclerView
* 繫結
*/
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
Log.e(TAG, "onAttachedToRecyclerView: "+ recyclerView );
mRecyclerView = recyclerView;
}
@Override
public void onDetachedFromRecyclerView(RecyclerView recyclerView) {
super.onDetachedFromRecyclerView(recyclerView);
mRecyclerView = null;
}
接下來是點選事件
@Override
public void onClick(View v) {
//通過該方法 獲得被點選條目的位置 關鍵就在這裡
int position = mRecyclerView.getChildAdapterPosition(v);
Log.e(TAG, "onClick: " + position);
..得到位置之後就可以隨意設定點選事件了
}