我正在使用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
我的代码是my中的以下代码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()
片段为止。AFragmentTransaction
是异步的;它不会在时间commit()
返回时附加。
但是,有一个功能commitNow()
可以立即附加片段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句