FirebaseRecyclerViewAdapter: Recyclerview ViewHolder setOnClickListener не работает во фрагменте:

Я пробовал много вариантов и решений, но я все еще не могу получить событие Click на ViewHolder. то есть viewHolder.mView.setOnClickListener не работает во фрагменте. Я использовал тот же код в действии, и он отлично работает, но не во фрагменте.

градиентная зависимость:

implementation 'com.android.support:recyclerview-v7:26.1.0' <br>
implementation 'com.firebaseui:firebase-ui-database:2.3.0'

Код:

public class OffersFragment extends Fragment {

    private View mMainView;


    private RecyclerView mBusinessOffersList;
    private RecyclerView.LayoutManager mLayoutManager;


    public OffersFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        // Inflate the layout for this fragment
        mMainView = inflater.inflate(R.layout.fragment_offers, container, false);


        //------Recyclerview to show Business Gallery ------------//
        mBusinessOffersList = mMainView.findViewById(R.id.businessOffersList);
        mBusinessOffersList.setHasFixedSize(true);
        mLayoutManager = new LinearLayoutManager(getActivity());
        mBusinessOffersList.setLayoutManager(mLayoutManager);

      .
      .
      .
        if(currentUser!=null && mBusinessUserID != null){
        mdatabaseOffers = FirebaseDatabase.getInstance().getReference().child("Offers")
                .child(BusinessCity).child(mBusinessUserID);
    }



        return mMainView;

    }


    @Override
    public void onStart() {
        super.onStart();


        FirebaseRecyclerAdapter <EshopOffers, BusinessOffersViewHolder> mfirebaseRecycleAdapter = new FirebaseRecyclerAdapter<EshopOffers, BusinessOffersViewHolder>
                ( EshopOffers.class,
                        R.layout.shop_offerslist_layout,
                        BusinessOffersViewHolder.class,
                        mdatabaseOffers) {


            @Override
            protected void populateViewHolder(final BusinessOffersViewHolder viewHolder, EshopOffers model, int position) {


                //---tried--Method 1: Open new Activity on CLick----but no luck--------//

                viewHolder.mView.setOnClickListener(new OnClickListener() {
                    @Override
                    public void onClick(View view) {

                        Toast.makeText(getActivity(), "Item Clicked", Toast.LENGTH_LONG).show();
                    }
                });
            }

        };mBusinessOffersList.setAdapter(mfirebaseRecycleAdapter);

    }




    public static class BusinessOffersViewHolder extends RecyclerView.ViewHolder {

        View mView;
        public LinearLayout offerLayout;
        ImageView offerImage1;
        LinearLayout offerLayout2;
       // public RelativeLayout offerRLlayout;

        public BusinessOffersViewHolder(View itemView) {
            super(itemView);
            mView = itemView;

          //---tried--Method 2: Open new Activity on CLick----but no luck--------//

            itemView.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View view) {
                    Log.i("View Clicked", "View Clicked");
                }
            });

        }


    }
}

Я пробовал большинство решений из: RecyclerView onClick и как реализовать SetOnItemClickListener FirebaseRecyclerViewAdapter, но не повезло. :(

Я ломал голову почти 2 дня 3 ночи, но все равно никуда не денусь ... :( так что теперь нужна ваша помощь ..!


comment
Это — это рекомендуемый способ извлечения данных из базы данных Firebase Realtime и отображения их в RecyclerView с помощью FirebaseRecyclerAdapter.   -  person Alex Mamo    schedule 13.08.2018
comment
Спасибо @AlexMamo, но у меня нет проблем с получением данных с помощью FirebaseRecyclerAdapter. моя проблема в том, что `viewHolder.mView.setOnClickListener' не работает во фрагменте. Вышеприведенный код отлично работает в Activity. есть что-то, что представление viewHolder недоступно во фрагменте. Даже нет никаких ошибок или предупреждений, когда я использую setOnClickListener на этом VH.   -  person AH1702    schedule 14.08.2018