Как отправить данные из фрагмента в другой фрагмент внутри FirebaseAdapter, используя model.class для getPid - PullRequest
0 голосов
/ 12 марта 2020

я пытался решить эту проблему, пока думал, я пытаюсь передать данные из фрагмента в другой фрагмент, model.getPid предлагает мне быть c !, и после запуска приложения и нажатия на изображении, то приложение царапает! спасибо заранее!

 holder.imageView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {

                            ProductsDetailsFragment fragment = new ProductsDetailsFragment();
                            Bundle b1 = new Bundle();
                            b1.putString("pid", Products.getPid());
                            fragment.setArguments(b1);
                            FragmentManager fragmentManager =  
                            getActivity().getSupportFragmentManager();
                            FragmentTransaction ft = fragmentManager.beginTransaction();
                            ft.replace(R.id.nav_host_fragment, fragment)
                                    .addToBackStack(null)
                                    .commit();

это от второго фрагмента

 Bundle bundle = this.getArguments();
    if (bundle != null) {
        productID= bundle.getString("pid");
        getProductDetails(productID);
    }

в FirebaseAdapter, когда я передаю ProductTD, он возвращает null

  private void getProductDetails(String productID) {
    DatabaseReference productRef = FirebaseDatabase.getInstance().getReference().child("Products");
    productRef.child(productID).addValueEventListener(new ValueEventListener() {
        @Override

this от Logcat

java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()

1 Ответ

0 голосов
/ 12 марта 2020

здесь ваша ошибка Intent intent = new Intent(getActivity(), ProductsDetailsFragment.class); intent.putExtra("pid", model.getPid()); startActivity(intent)

удалить это вы можете использовать намерение для фрагмента

...