提交后片段未附加到活动

时间:2014-10-12 18:49:17

标签: android android-fragments android-fragmentactivity

我正在使用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);发生错误。

有没有办法解决这类问题?

感谢您的宝贵帮助。

1 个答案:

答案 0 :(得分:2)

  

有没有办法解决这类问题?

将标题更改延迟到片段的onAttach()FragmentTransaction是异步的;它会在commit()返回时附上。