onAttach() - 虽然存在片段事务

时间:2016-12-29 12:47:12

标签: java android android-fragments android-activity

我想知道,我怎么能弄明白,为什么我的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?
}

1 个答案:

答案 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();
}