我有两个片段,我想发送fragment2字符串到fragment1,并将其存储在fragment1中的字符串中。当我尝试以正常方式执行此操作时,它显示了一个错误,我已将其发布下来。有人请帮助我。
Fragment2.class
Bundle bundle=new Bundle();
bundle.putString("message", value);//value= my value from code
Fragmentclass2 frag2=new Fragmentclass2();
frag2.setArguments(bundle);
Fragment1.class
final String store= getArguments().getString("message");
错误日志:
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.os.Bundle.getString(java.lang.String)' on a null object reference
2条答案
按热度按时间pw9qyyiw1#
我建议使用这种方式
当你传递第一个片段的数据时
当你从另一个片段中获取数据时
rsl1atfo2#
我建议您使用
newInstance()
片段的一般做法。因此,您应该考虑在
Fragmentclass1
中创建newInstance()
方法,如下所示:在您的
Fragmentclass2
中,您调用:这将创建
Fragmentclass1
,所以最后要做的是检索Fragmentclass1
的onCreate中的参数。就像你刚才做的那样: