gpt4 book ai didi

java - Android:从Activity调用fragment函数,fragment函数包含getActivity()并返回null

转载 作者:行者123 更新时间:2023-12-01 11:32:12 24 4
gpt4 key购买 nike

我有一个 fragment 如下:

public class F1 extends Fragment {

...
public void function1 (){
activity = getActivity();
}

}

当尝试在具有此 fragment 的 Activity 中调用此函数时,

public class Activity1 extends Activity {

private F1 f1 = new F1();
f1.function1();

}

它返回null

如何解决这个问题?谁能提供一个有效的代码示例?

最佳答案

它返回 null,因为 fragment 没有附加到 Activity。所以使用 Fragment Manager 来访问 Fragment,也可以在 onAttach(Activity Activity) 中使用 Activity Context,并且它肯定不为 Null。

@Override
public void onAttach(Activity activity)
{
super.onAttach(activity);
this.activityContext = activity; //then use activity context
}

以及获取 fragment 实例:

F1 f1 = (F1) getFragmentManager().findFragmentByTag(F1.TAG_FRAGMENT);

关于java - Android:从Activity调用fragment函数,fragment函数包含getActivity()并返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com