我正在使用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);
发生错误。
是否有解决此类问题的方法?
感谢您的宝贵帮助。
是否有解决此类问题的方法?
延迟您的标题更改,直到片段的onAttach()
。 FragmentTransaction
是异步的; commit()
返回时将不会附加它。
但是有一个功能,commitNow()
将立即附加片段。