我想知道,我怎么能弄明白,为什么我的onAttach方法没有被调用。存在片段事务的提交和相应的替换。我的日志消息和我的调试步骤告诉我,onAttach()
类的QuotesFragment
方法从未被触发过。
以下是我在MainActivity类中的正向程序:
private void forwardToQuotesFragment(){
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.container, quotesFragment, QuotesFragment.QUOTES_FRAGMENT_TAG);
ft.commit();
// onAttach()-method of QuotesFragment is not getting called - why?
}
答案 0 :(得分:0)
我发现了问题。正如我在之前的评论中提到的,我的问题的原因是在我的手机上安装了Android 5.0.2并且我的应用程序是为Android 6.0向上创建的。
此外我使用了android.app。* - 类。现在我将这些类更改为相应的android-support-library-classes。这意味着我的MainActivity从AppCompatActivity和我的片段扩展到android.support.v4.app.Fragment。需要稍微更新片段事务过程,如下所示:
private void forwardToQuotesFragment(){
android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
android.support.v4.app.FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, quotesFragment);
ft.commit();
}