首页 > 解决方案 > 将值从活动传递到片段得到 NullPointerException 错误

问题描述

我尝试将值从我的 Activity 传递给我的片段,但我收到 NullPointerException 错误。这是代码

活动.java

String name = "checkout";
Fragment myFragment= new Fragment();
Bundle bundle = new Bundle();
bundle.putString("name", name);
myFragment.setArguments(bundle);

片段.java

assert getArguments() != null;
String name = getArguments().getString("name");

标签: androidandroid-activityargumentsfragmentbundle

解决方案


我使用另一种方式来创建片段。

活动中:

String name = "checkout";
Bundle bundle = new Bundle();
bundle.putString("name", name);

MyFragment.newInstance(bundle)

在片段上:

fun newInstance(bundle: Bundle?): MyFragment? {
        if (bundle == null)
            return null

        val fragment = MyFragment()
        fragment.mUserId = bundle.getString("name")
        return fragment
    }

告诉我好不好


推荐阅读