title: Creating buttons and button click under recyclerview item when it swiped (swip to dismiss) without using library
body: <p>I am using RecyclerView for showing my list. I implement Swipe to dismiss on the RecyclerView with ItemTouchHelper. The underlying layout is implemented in OnchildDraw method by using canvas. 
  Now I have a problem: I want to set onclick on my icon. By clicking on the icon, I want to do some functions.
  Here is My class:</p>
  
  <pre><code>public class ItemTouchHelperCallback : ItemTouchHelper.SimpleCallback
  {
      private ContactSearchedResultAdapter _adapter;
      private RecyclerView _mRecyclerView;
      private int _swipeCount;
      private Android.Content.Res.Resources _resources;
      public ItemTouchHelperCallback(ContactSearchedResultAdapter adapter, RecyclerView mRecyclerView, Android.Content.Res.Resources resources)
          : base(0, ItemTouchHelper.Left | ItemTouchHelper.Right)
      {
          this._adapter = adapter;
          this._mRecyclerView = mRecyclerView;
          this._resources = resources;
      }
      public override bool OnMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target)
      {
          return false;
      }
  
      public override void OnSwiped(RecyclerView.ViewHolder viewHolder, int direction)
      {
          if (direction == ItemTouchHelper.Left)
          {
              _adapter.RemoveViewWithDialog(viewHolder.AdapterPosition, _mRecyclerView, _swipeCount);
              if (_swipeCount == 0)
                  _swipeCount++;
          }
          else
          {
              _adapter.SaveContactToDataBase(viewHolder.AdapterPosition, _mRecyclerView);
          }
      }
      public override void OnChildDraw(Canvas cValue, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, bool isCurrentlyActive)
      {
          Paint paint = new Paint();
          View itemView = viewHolder.ItemView;
          float height = (float)itemView.Bottom - (float)itemView.Top;
          float width = height / 3;
          Bitmap icon;
  
          if (dX &gt; 0)
          {
              paint.Color = Color.ParseColor("#388E3C");
              RectF background = new RectF((float)itemView.Left, (float)itemView.Top, dX, (float)itemView.Bottom);
              cValue.DrawRect(background, paint);
              icon = BitmapFactory.DecodeResource(_resources, Resource.Drawable.addoption);
              RectF icon_dest = new RectF((float)itemView.Left + width, (float)itemView.Top + width, (float)itemView.Left + 2 * width, (float)itemView.Bottom - width);
              cValue.DrawBitmap(icon, null, icon_dest, paint);
          }
          else
          {
              paint.Color = Color.ParseColor("#D32F2F");
              RectF background = new RectF((float)itemView.Right + dX, (float)itemView.Top, (float)itemView.Right, (float)itemView.Bottom);
              cValue.DrawRect(background, paint);
              icon = BitmapFactory.DecodeResource(_resources, Resource.Drawable.removeoption);
              RectF icon_dest = new RectF((float)itemView.Right - 2 * width, (float)itemView.Top + width, (float)itemView.Right - width, (float)itemView.Bottom - width);
              cValue.DrawBitmap(icon, null, icon_dest, paint);
          }
  
          float alpha = (float)1.0- Math.Abs(dX)/(float) itemView.Width;
          itemView.Alpha = alpha;
          itemView.TranslationX = dX;
  
          base.OnChildDraw(cValue, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
      }
  
  }
  </code></pre>
  
  <p>As you can see I am calling ItemRemoving or ItemSaving in OnSwiped method. What I want to do now is calling these methods on icons' click (icons that are drawn by canvas in OnchildDraw)
  I searched a lot about this topic and couldn't find any solution that implemented this feature without using any library.
  I don't want to use library. </p>