2013-07-14 4 views
0

세 개가 있습니다 ListFragment은 하나의 활동입니다. 제 listFragment 들어 I는 ListFragment를 작성한 쉽게 일부 되는 listItem있는 레이아웃 팽창 :두 개 이상의 ListFragments를 동적으로 추가하는 방법

setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, getResources.getStringArray(R.string.baal))); 

번째 listFragment의 아이템이 제 ListFragment의 선택된 항목과 유사한 방법에 따라 달라질 것이다 세 번째 listFragment의 항목은 두 번째의 선택된 항목에 따라 변경됩니다 ListFragment.

첫 번째 ListFragment은 다른 ListFragment에 의존하지 않으므로 정적입니다. 그래서 나는 그것을위한 몇 가지 항목으로 레이아웃을 부 풀린다.

하지만 두 번째와 세 번째 항목은 자주 변경해야합니다. 그래서 나는 런타임에 새로운 listitems 클릭 이벤트 때마다 그것을 부 풀릴 필요가있다. 그래서 두 번째와 세 번째는 새 목록 항목으로 매번 팽창 시켜서 동적으로 만들어야한다고 생각합니다. 어떻게하면 될까요? 나는 Fragment에서 새롭고 동적 UI에 대한 개념이 분명해야합니다. 미리 감사드립니다.

답변

1

예를 들어 두 번째 및 세 번째 조각의 어댑터를 지우고 필요한 모든 항목을 추가하려고하면 전체 조각을 부 풀릴 필요가 없지만 대신 내용 만 변경됩니다. 또한 어댑터 유형에 따라 notifyDataSetChanged을 호출해야합니다 (예 : ArrayAdapter 인 경우).

UPD : YourAdapter1YourAdapter2ArrayAdapter을 확장해야하는 위치 주요 항목을 클릭 이벤트에 당신이

  YourAdapter1 adapter1 = getFirstAdapter(); 
      adapter1.clear(); 
      adapter1.addAll(newItem1Collection); 

      YourAdapter2 adapter2 = getSecondAdapter(); 
      adapter2.clear(); 
      adapter2.addAll(newItem2Collection); 

같은 몇 가지 코드를 작성할 수 있습니다, 이것은 또한 자동으로 notifyDataSetChange를 호출합니다.

+0

감사합니다! 몇 가지 코드 예제로 대답을 업데이트 할 수 있습니까? –

0

탭을 사용하고 각 선택 항목에 동적으로 탭을 추가하고 사용자가 빵 부스러기 탐색과 같은 선택을 취소하기 위해 다시 스 와이프 할 수있게하는 것이 좋습니다.

당신은 여기에 관련된 질문을 볼 수 있습니다 귀하의 답변에 대한 Android - How to create tabs on demand using existing layout?

+0

탐색 서랍을 사용하고 있습니다. 그래서 나는 탭 네비게이션을 사용하고 싶지 않다 : ( –

+0

) 탭 자체를 표시하지 않고도 똑같은 아이디어를 사용할 수있다. 각 선택은 목록을 옆으로 스크롤하여 낮은 레벨을 나타내며, 뒤로 버튼은 한 레벨 위로 돌아 간다. – Steelight

관련 문제