簡體   English   中英

如何通過Bundle從fragment到fragment傳輸數據

[英]How to transfer data from fragment to fragment through Bundle

下面是第一個片段的適配器代碼,這里是將數據發送到第二個片段 StoreDetails。

holder.cv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {


                    StoreDetails fragment = new StoreDetails();

                    Bundle bundle = new Bundle();
                    bundle.putString("store_id",pojo.getSTORE_ID());
                    bundle.putString("store_name",pojo.getSTORE_NAME());
                    bundle.putString("address",pojo.getSTORE_ADDRESS());
                   // bundle.putString("status",pojo.getSTATUS());
                   // bundle.putString("teammember",pojo.getSTATUS());

                   fragment.setArguments(bundle);
                   FragmentManager manager=fragment.getFragmentManager();
    // in below line I am getting error 

                    FragmentTransaction ft = manager.beginTransaction().replace(R.id.container,fragment,"fragment");
                    ft.addToBackStack("fragment");
                    ft.commit();

                }
            });

下面是 StoreDetails 片段

 Bundle bundle = getArguments();

            mstore_id = bundle.getString("store_id");
            mstore_name =bundle.getString("store_name");
            mstoreaddress= bundle.getString("address");
            mstorestatus = bundle.getString("status");
            mteammember = bundle.getString("teammember");

我收到的錯誤是

java.lang.NullPointerException:嘗試在 Adapter.Tab1_Adapter$1.onClick(Tab1_Adapter.java:78) 處的空對象引用上調用虛擬方法“android.app.FragmentTransaction android.app.FragmentManager.beginTransaction()”

FragmentManager 在它被附加到活動之前將為null

而不是使用

FragmentManager manager=fragment.getFragmentManager();

 getActivity().getFragmentManager() or getActivity().getSupportFragmentManager();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM