gpt4 book ai didi

java - 无法在fragment中调用android注解方法?

转载 作者:行者123 更新时间:2023-12-01 09:21:26 25 4
gpt4 key购买 nike

我正在使用Android注释来膨胀Fragment:

@EFragment(R.layout.fragment_sample)
public class SampleFragment extends Fragment {
public static SampleFragment newInstance(Context context) {
mContext = context;
SampleFragment samplefragment = new SampleFragment_();
return samplefragment;
}

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
}

@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
}

@AfterViews
public void afterViewsCreated(){
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mContext);
}}

我从 Activity 调用上述 fragment 类的实例:

 SampleFragment.newInstance(getApplicationContext());

在代码中启用调试点后。代码流程仅限于 newInstance 方法。调试器甚至不会执行 onActivityCreated()onCreate()afterViewsCreated()@AfterViews 需要被调用。

为什么会出现这种情况?

最佳答案

您所做的似乎只是创建 fragment 的实例。您似乎并未实际调用 FragmentManager 来 add()/replace() 这个新实例。

尝试:

Fragment fragment = SampleFragment.newInstance(getApplicationContext());

getFragmentManager.beginTransation()
.add(<ID RES>, fragment, <FRAGMENT TAG>)
.commit();

其中 ID RES 是您的资源 ID,FRAGMENT TAG 是您的 fragment 标签(如果需要)。

查看此post有关使用 FragmentManager 的更多信息。

关于java - 无法在fragment中调用android注解方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40141933/

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