onItemClickListener 介面實作
- 有時後會遇到某些功能實作之後沒有提供ItemClick的方法,這時候就要自己實作ItemClick介面來達成目的了!!
舉RecyclerView的例子
- RecyclerView沒辦法直接實作.setOnItemClickListener
- 所以不能像ListView一樣,取得使用者點到的那一個item
- 手動實作itemClick可解決這個問題
如何實作?
- 第一步 - 在RecyclerViewAdapter內實作介面
|
|
第二步 - 在onBindViewHolder透過OnClickListener達到目的
123456789101112if(onItemClickListener!=null){holder.itemView.setOnClickListener(new View.OnClickListener(){public void onClick(View v){int layoutPos = holder.getLayoutPosition();onItemClickListener.onItemClick(v,position);}});}第三步 - RecyclerViewAdapter的部份完成之後,回到MainActivity就可以實作.onItemClickListener囉
123456789RecycleViewAdapter mAdapter = new RecycleViewAdapter(this);mAdapter.setOnItemClickListener(new RecycleViewAdapter.onItemClickListener(){public void onItemClick(View view, int position){Log.d("MYLOG", "onItemClick: "+position);}});