2012-06-08 4 views
1

두 개의보기 모드, 편집 모드 및 읽기 전용 모드가있는 조각이 있습니다. 사용자는 두 모드에서 사용 가능한 회 전자에서 선택된 상태간에 이동하여 모드를 전환 할 수 있습니다.onCreateView가 실행 된 후 조각보기 바꾸기

조각을 만들 때 나는 관리 대상 객체의 상태에 따라 팽창시킬 읽기 전용 또는 편집 레이아웃을 선택합니다. 사용자가 새로운 상태를 선택하면 모드는 읽기 전용 모드에서 편집 모드로 전환 될 수 있습니다. 이 경우 편집보기를 읽기 전용보기로 바꾸어야합니다.

조각의 기존보기를 어떻게 바꿉니 까? 액티비티에서 나는 사용하고자하는 레이아웃으로 setContentView를 호출 할 것입니다.

  • 이보기를 무효화하지만, onCreateView는 다시 호출되지 않습니다

    은 내가 시도했습니다.

  • 조각을 조각 트랜잭션으로 바꾸지 만 레이아웃을 변경하지는 않습니다.

참고 : Android 4.0 용이며 호환 라이브러리를 사용할 수 없습니다.

+0

두 조각을 사용하지 않는 이유는 무엇입니까? 훨씬 쉬울 것 같습니다. .replace를 사용하여 스왑합니다. – Barak

답변

1

하나 개의 조각 내에서 모든 것을 유지하려는 경우에 따라 아이를 표시의 I는 레이아웃의 모양을 정확히 완전히 확실하지 않다

,하지만 난 그냥 ViewFlipper 모두 레이아웃을 던져 변경 것 같아요 선정 된 것.

샘플 조각 레이아웃

<LinearLayout android:orientation="vertical" ..> 
    <Spinner ../> 

    <ViewFlipper android:id="@+id/flipper" ..> 
     <ReadOnlyLayout /> 
     <EditLayout /> 
    </ViewFlipper> 

</LinearLayout> 

그럼 당신은 단순히 어떤 상태 당신이에 따라 두 개의 레이아웃 사이를 전환 할 setDisplayedChild()를 사용할 수 있습니다. (바락 의해 제안) 하위 인덱스가 0

개의 독립적 인 조각으로 시작

ViewFlipper vf = (ViewFlipper) getView().findViewById(R.id.flipper); 
vf.setDisplayedChild(1); 

참고 또한 사용될 수있다. 나는 그것이 단지 디자인 선택 일 뿐이라고 생각한다.

+0

ViewFlipper는 내가 필요한 것 ... 감사합니다. – dmck

관련 문제