简体   繁体   English

从活动中调用片段方法

[英]Calling a fragment method from an Activity

I have a form in fragment A, after the user enters their information and presses on submit, they should get redirected to fragment B. 我在片段A中有一个表单,在用户输入信息并按“提交”后,他们应该被重定向到片段B。

I can manage to call the fragment method, however I'm getting a NullPointerException error: 我可以设法调用fragment方法,但是出现了NullPointerException错误:

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

How I am calling the method in fragment B: 我如何调用片段B中的方法:

(new FragmentB()).infoSubmitted();

How could I effectively call the method in fragment B? 我如何有效地调用片段B中的方法?

You can do that way, but it isn't good approach. 您可以这样做,但这不是一个好方法。

Once you submit form in FragmentA, return results to Activity and then start FragmentB. 在FragmentA中提交表单后,将结果返回到“活动”,然后启动FragmentB。

In FragmentA it would be like: 在FragmentA中,它将像:

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

And in Activivity create a method: 然后在Activivity中创建一个方法:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM