2013-04-06 4 views
1

Daydream 앱을 만들려고하고 있으며 내 DreamService 클래스 내의 조각 사용에 대한 문서를 찾지 못하는 것 같습니다.Android : Daydreams 내의 조각

내 의도는 프레임을 사용하는 것이었다 XML 파일의 :

<FrameLayout 
     android:id="@+id/content_frag" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     /> 

그리고 프레임에 내 조각을 추가 할 FragmentManager를 사용

public void onAttachedToWindow() 
{ 
    setContentView(R.layout.daydream); 

    getFragmentManager().beginTransaction().replace(R.id.content_frag, new ContentFragment(), "ContentFragment") 
     .commit(); 

    super.onAttachedToWindow(); 
} 

더 될 것 같다 없다 " DreamFree 내에서 getFragmentManager() 또는 이와 동등한 함수를 사용할 수 있으므로이 작업을 수행 할 수 있습니까?

감사합니다.

+3

"이 달의 질문 제목"상에 이것을 지명 할 수 있습니까? – dmon

답변

0

나는 이것을 할 수 있다고 생각하지 않습니다. DreamService는 서비스입니다. FragmentManager에 대한 개념이 없습니다.

0

DreamService와 함께 조각을 사용할 수 있습니다. 비록 당신이 할 수 있다고해도 조각이 인식해야만하는 몇 가지주의 사항 (보통 Activity)과 DreamService이 있기 때문에 꼭해야한다는 뜻은 아닙니다.

다음 코드의 작품

는 (장치에서 테스트되었습니다) :

MyFragment fragment = new MyFragment(); 
View view = fragment.onCreateView(LayoutInflater.fromContext(this), null, null); 
setContentView(view); 

그러나 당신은주의해야합니다 조각이 부착 된에 의존하는 경우 있음을 Activity (getResources()를 호출, 또는 비 - 널 (null)을 반환 getActivity() 필요 예를 들어, IllegalStateException 및 null 참조를 피하려면 적절하게 isAdded()을 확인해야합니다. 또한 적절한 라이프 사이클 메소드 (예 : onDestroyView() 등)를 호출 할 책임이 있습니다.