试图从片段中调用我的活动中的方法。我想要片段给方法数据,并在方法返回时获得数据。我想实现类似于对静态方法的调用,但不使用静态,因为它会在活动中产生问题。
新的片段,所以我需要一个简单的和教学的解释!
谢谢!
试图从片段中调用我的活动中的方法。我想要片段给方法数据,并在方法返回时获得数据。我想实现类似于对静态方法的调用,但不使用静态,因为它会在活动中产生问题。
新的片段,所以我需要一个简单的和教学的解释!
谢谢!
当前回答
((YourActivityName) getActivity ()) .functionName ();
示例:((SessionActivity)getActivity()).changeFragment();
注意:类名应该是公开的
其他回答
((your_activity) getActivity).method_name()
your_activity是你活动的名称,method_name()是你想调用的方法的名称。
从它们各自的片段调用活动方法的最佳方法
(activity as YourActivity).activtiyMethod()
使用你活动中的这句话。例如
假设你有活动A和方法add()和片段ABC,你想从片段ABC调用方法add,
(activity as A).add()
在kotlin中,你可以从片段中调用activity方法,如下所示:
var mainActivity: MainActivity = activity as MainActivity
mainActivity.showToast() //Calling show toast method of activity
对于Kotlin开发人员
(activity as YourActivityClassName).methodName()
针对Java开发人员
((YourActivityClassName) getActivity()).methodName();
谢谢@BIJAY_JHA和@Manaus。我使用Kotlin版本来调用我的signIn()方法,该方法存在于活动中,并且我从一个片段中调用。我在Android中使用导航架构,所以监听器接口模式不在片段中:
(activity as MainActivity).signIn()