2014-10-12 2 views
1

Android Fragment과 협력 중이며 getString 메서드를 호출 할 때 문제가 발생합니다. 그것은 내 코드 내 Activity에 다음 코드가커밋 후 활동에 단편이 첨부되지 않았습니다.

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

예외를 발생 :

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

오류가 그 라인 return getString(R.string.login_title);에 발생

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

.

그런 종류의 문제를 해결할 방법이 있습니까?

귀하의 소중한 도움에 감사드립니다.

답변

2

그런 종류의 문제를 해결할 방법이 있습니까?

조각이 onAttach()까지 지연됩니다. FragmentTransaction은 비동기식입니다. 그 때까지는 첨부되지 않습니다 commit()가 반환합니다.

+0

감사합니다. 'onAttachFragment'를 사용하여 작업을 완료했습니다. – Manitoba