I am trying to separate handle OnClick Button and OnClick Row inside Fragment with interface..
so far, this is what I have tried :
Inside Fragment
if (recyclerView.getTag().toString().equals("Grid")) {
            adapter = new RVAdapter(ListOfdataAdapter, getContext(), 
                    RVAdapterChannel.ViewType.GRID_LIST_LAYOUT, new ClickListener() {
                @Override
                public void OnClick(int position, View view) {
                    //THIS ALWAYS RETURN ROW CLICKED
                    if (view.findViewById(R.id.imageLike).getId() == view.getId()){
                        Toast.makeText(getContext(), "IMAGE LIKE CLICKED",Toast.LENGTH_SHORT).show();
                        OpenDialog();
                    }
                    if (view.findViewById(R.id.layoutRelative).getId() == view.getId()){
                        Toast.makeText(getContext(), "ROW CLICKED", Toast.LENGTH_SHORT).show();
                        OpenDatabase();
                    }
                    //THIS MAKES APP CRASH
                    if (view.findViewById(R.id.imageLike).performClick){
                        Toast.makeText(getContext(), "IMAGE LIKE CLICKED",Toast.LENGTH_SHORT).show();
                        OpenDialog();
                    }
                    if (view.findViewById(R.id.layoutRelative).performClick){
                        Toast.makeText(getContext(), "ROW CLICKED", Toast.LENGTH_SHORT).show();
                        OpenDatabase();
                    }
                    // ANOTHER TRY
                }
                @Override
                public void onLongClicked(int position, View view) {
                }
            });
            recyclerView.setAdapter(adapter);
            if (getPreferenceValue().equals("on")) {
                AnimBottomToTop();
            }
        }
at the moment only one is in line with my expectation, that is, if I place If - Else inside the adapter.. but if I do, I cannot open OpenDialog (), OpenDatabase (), etc. If it can only be done through an adapter, how can I open OpenDialog();, OpenDatabase();, etc? and if possible I want to place it in fragments not in adapters.
Inside Adapter
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener{
        RelativeLayout Container;
        ImageView ImageLike;
        //...//
        private WeakReference<ClickListener> listenerRef;
        public ViewHolder(View itemView, ClickListener listener) {
            super(itemView);
            listenerRef = new WeakReference<>(listener);;
            ImageLike = (ImageView) itemView.findViewById(R.id.imageLike) ;
            //...//
            //itemView.setOnClickListener(this);
            itemView.setOnClickListener(this);
            Container.setOnClickListener(this);
            ImageLike.setOnClickListener(this);
            ImageLike.setOnLongClickListener(this);
        }
        // onClick Listener for view
        @Override
        public void onClick (View view) {
            //THIS WILL RETURN TOAST ON IMAGELIKE CLICK
            if (view.getId() == ImageLike.getId()) {
                Toast.makeText(view.getContext(), "IMAGE LIKE CLICKED = " + String.valueOf(getAdapterPosition()), Toast.LENGTH_SHORT).show();
            } //THIS WILL RETURN TOAST ON ROW CLICK
             else {
                Toast.makeText(view.getContext(), "ROW CLICKED = " + String.valueOf(getAdapterPosition()), Toast.LENGTH_SHORT).show();
            }
            listenerRef.get().OnClick(getAdapterPosition(), itemView);
        }
        //onLongClickListener for view
        @Override
        public boolean onLongClick(View view) {
            final AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext());
            builder.setTitle("Hello Dialog")
                    .setMessage("LONG CLICK DIALOG WINDOW FOR ICON " + String.valueOf(getAdapterPosition()))
                    .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                        }
                    });
            builder.create().show();
            listenerRef.get().onLongClicked(getAdapterPosition(), itemView);
            return true;
        }
    }
I use this method from here Onclick for each button inside RecyclerView items
And from here RecyclerView onClick i think this not suit my needs to (not trying all answers)
until now I have not found an answer according to my needs.
forgive me if my question is difficult to understand. thanks for your response.
 
     
     
    