【问题标题】:How to transfer data from fragment to fragment through Bundle如何通过Bundle将数据从fragment传输到fragment
【发布时间】:2018-09-06 10:53:08
【问题描述】:

下面是第一个片段的适配器代码,这里是向第二个片段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:尝试调用虚拟方法 'android.app.FragmentTransaction android.app.FragmentManager.beginTransaction()' 在一个空对象上 参考 Adapter.Tab1_Adapter$1.onClick(Tab1_Adapter.java:78)

【问题讨论】:

  • 你现在遇到什么样的问题
  • 分享你的日志猫报告?
  • 等待发送日志
  • java.lang.NullPointerException:尝试在 Adapter.Tab1_Adapter$1.onClick(Tab1_Adapter. java:78)
  • 使用getActivity().getFragmentManager()getActivity().getSupportFragmentManager()

标签: java android json android-fragments


【解决方案1】:

FragmentManager 在附加到活动之前将是 null

而不是使用

FragmentManager manager=fragment.getFragmentManager();

使用

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-26
    • 2021-01-07
    • 2012-10-22
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    相关资源
    最近更新 更多