java - 如何通过Bundle将数据从 fragment 传输到 fragment

标签 java android json android-fragments

下面是第一个 fragment 的适配器代码,这里将数据发送到第二个 fragment 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 fragment

 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: Attempt to invoke virtual method 'android.app.FragmentTransaction android.app.FragmentManager.beginTransaction()' on a null object reference at Adapter.Tab1_Adapter$1.onClick(Tab1_Adapter.java:78)

最佳答案

FragmentManager 在附加到 Activity 之前将为 null

而不是使用

FragmentManager manager=fragment.getFragmentManager();

使用

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

关于java - 如何通过Bundle将数据从 fragment 传输到 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52202480/

相关文章:

java - 将 if else 语句压缩成更短更优雅的代码

java - 我应该如何获取文档字段并在另一个集合的另一个 map 中使用它们?

android - 这是 Android 支持设计库中的错误吗?

java - 使用流式 api 提取部分 json 字符串并转换为 jsonTree (Jackson)

json - 如何从 Redis 的 ServiceStack 实现返回的 Json Datetime 格式转换为 .net Datetime?

java - Integer.parseInt(scan.next()) 还是 scan.nextInt()?

java - GUI 类中的 StackOverflow

c# - 更改 WCF 中的默认日期序列化

java - Hibernate查询从三个相关表中获取记录

android - 在 Gradle for Android 应用程序中运行 JUnit 测试