ListView.getItemAtPosition(i) equivalent in RecyclerView?

后端 未结 1 2003
鱼传尺愫
鱼传尺愫 2020-12-20 09:49

I\'m migrating from a ListView backed by a CursorAdapter, to a RecyclerView backed by shywim\'s CursorRecyclerAdapter.

I\'m having trouble migrating this part that

相关标签:
1条回答
  • 2020-12-20 10:35

    Unfortunately it is not part of the RecyclerView. To overcome it I define an interface:

      public interface OnItemClickListener {
            public void onItemClick(View view, int position);
      }
    

    The ViewHolder implements the View.OnClickListener, and its constructor takes an object that implements my OnItemClickListener interface:

     public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
    
        private OnItemClickListener mListener;
    
        public ViewHolder(View itemView) {
            super(itemView);
            itemView.setOnClickListener(this);
    
        }
    
         public ViewHolder(View itemView, OnItemClickListener listener) {
            this(itemView);
            mListener = listener;
        }
    
    
        @Override
        public void onClick(View v) {
            if (mListener != null) {
                mListener.onItemClick(v, getPosition());
            }
        }
    

    When you click on the row, I forward trough the listener the view clicked and its position

    0 讨论(0)
提交回复
热议问题