从活动中调用片段方法

时间:2019-05-17 07:54:42

标签: java android fragment

我在片段A中有一个表单,在用户输入信息并按下“提交”后,他们应该被重定向到片段B。

我可以设法调用fragment方法,但是出现NullPointerException错误:

Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference

我如何调用片段B中的方法:

(new FragmentB()).infoSubmitted();

如何有效地调用片段B中的方法?

1 个答案:

答案 0 :(得分:1)

您可以这样做,但这不是一个好方法。

在FragmentA中提交表单后,将结果返回到“活动”,然后启动FragmentB。

在FragmentA中,就像:

public void formSubmitted(){
     getActivity().startFragmentB(mFormData)
}

然后在Activivity中创建一个方法:

public void startFragmentB(Form formData){
     // handle fromData
     // start fragmentB
}