2013-06-26 2 views
0

내가하려는 것은 마스터/디테일 스타일 앱을 사용하는 것입니다. 선택기 옵션 중 하나는지도 레이아웃 아래에 몇 가지 추가 버튼이있는 Google지도입니다. 나는 MapFragment가와 내가 레이아웃에 다른 것들을 필요로하고 중첩 된 파편이되지 않기 때문에 그렇게 할 수 없습니다조각을 포함하는 레이아웃으로 조각 바꾸기

getSupportFragmentManager().beginTransaction() 
    .replace(R.id.content, myFragment, fragTag) 
    .commit(); 

:

내 모든 다른 옵션은 같은 것을 사용하여 FrameLayout이로 조각을로드 지원 (아직 희망을 갖고). 따라서 조각을 포함하는 합성보기로 일반 조각을 대체해야하지만 조각 관리가 어떻게 작동해야하는지 잘 모르겠습니다.

Fragment currentFrag = getSupportFragmentManager().findFragmentById(R.id.content); 
getSupportFragmentManager().beginTransaction().remove(currentFrag); 

LayoutInflater inflator = LayoutInflater.from(this); 
ViewGroup container = (ViewGroup)findViewById(R.id.content); 
container.removeAllViews(); 

View mapView = inflator.inflate(R.layout.store_finder, container, true); 

로 다시 다른 파편이를 교체 할 때 그것은 조금 지저분한 있습니다 :

나는이 일을하고있어 그냥 순간

getSupportFragmentManager().beginTransaction() 
    .replace(R.id.content, myCompositeView, fragTag) 
    .commit(); 

를 호출 할 수 있다고 생각하지 않습니다 레이아웃에서 모든 뷰를 다시 제거해야합니다. 또한 MapFragment를 이와 같이 설정 한 후 올바르게 제거하는 방법을 모르겠습니다.

내가 어떤 도움을 감사하겠습니다 누군가가 나머지 :

각주에 내 마음을 넣어하기 : 분명히 중첩 된 조각은 일이 지금,하지만 확실하지 이것이 내가 뭔가를 가고 싶은 방법입니다 단순한. http://developer.android.com/about/versions/android-4.2.html#NestedFragments

+0

나는이 트릭을 사용했다 : http://pastebin.com/CLRNd4BT 어때? – deadfish

+0

하나의 조각을 다른 조각으로 교체하는 것처럼 보입니까? 그게 내가 묻는 무엇이 아니에요 –

+0

*하지만이게 내가 원하는 무언가 간단한 방법입니다 확실하지 않습니다. * - 다른 비 지저분한 방법이 없습니다. 단편은 레이아웃 + 단편이 아니라 다른 단편으로 대체되도록 설계되었습니다. – Luksprog

답변

0

중첩 조각이 suppported되어, 참조하시기 바랍니다 : 저는 현재 응용 프로그램/프로젝트에 그들을 사용하고 그들이 잘 작동

http://developer.android.com/reference/android/app/Fragment.html#getChildFragmentManager()

. 매핑 뷰에 추가 제약 조건이 있는지 확실하지 않은 경우

// WildStyle

+0

그래, 나는 그들이 지원되어 있고 약간의 각주로 내 질문을 업데이트 한 것을 보았다. 이것이 필요한 것보다 더 지저분한 것 같아요. UI 스레드와 AsyncTasks 사이의 전환이 많고 Fragments에서 수행 된 작업과 Activities에서 완료된 작업 사이에서 전환이 많이 발생하기 때문에 MapFragments를 우스꽝스럽게 다루는 것으로 나타났습니다. 나는 이것보다 더 복잡하게 만들고 싶지 않다 : \ –

+0

나는 그것을 이해할 수있다. 그러나 복잡한 합성보기를 원하고 다른 조각으로 ie를 대체하는 단순성을 활용하고 싶다면, 이것은 아마도 가장 좋은 방법 일 것입니다. 그렇지 않으면 매핑을 위해 특별히 주 레이아웃의 다른 콘텐츠보기/컨테이너를 별도로 사용할 수 있습니다 (필요하지 않을 때 표시/숨기기). – WildStyle

+0

정말 추가해야 할 것은 단추와 TextView뿐입니다. 어쩌면 중첩 된 조각 (Fragments)이이 작업을 수행하는 가장 좋은 방법 일 수 있습니다. –