提交后未附加到活动的片段

问题描述 投票:1回答:1

我正在使用Android Fragment,在调用getString方法时遇到问题。抛出异常

10-12 07:43:18.309: E/AndroidRuntime(2425): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.TestActivity}: java.lang.IllegalStateException: Fragment TestFragment{2c691b80 id=0x7f070015} not attached to Activity

我的代码是我的Activity中的以下代码:

public void addFragment(IFragment fragment)
{
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();       
        transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
        transaction.add(R.id.dual_layout_pane, fragment);
        transaction.commit();

        if (fragment.getActionBarTitle() != null) setTitle( fragment.getActionBarTitle() );
}

在我的Fragment class中:

@Override
public String getActionBarTitle()
{
    return getString(R.string.login_title);
}

该行return getString(R.string.login_title);发生错误。

是否有解决此类问题的方法?

感谢您的宝贵帮助。

android android-fragments android-fragmentactivity
1个回答
2
投票

是否有解决此类问题的方法?

延迟您的标题更改,直到片段的onAttach()FragmentTransaction是异步的; commit()返回时将不会附加它。

但是有一个功能,commitNow()将立即附加片段。

© www.soinside.com 2019 - 2024. All rights reserved.