2010-07-07 2 views
2

다양한 노트가있는 노트를 표시하는 ListView이 있습니다 (일부는 기한이 있고 다른 것은 기한이 아닙니다).가변 필드로 맞춤보기를 구현하는 방법은 무엇입니까?

현재 목록의 각 도면 RelativeLayout 포함하는 각 필드의 TextView 더하여 두 ButtonCheckBox이다. 그런 다음 각 필드에 대해 false로 설정하여 사용하지 않는 필드를 숨 깁니다.

이것은 잘 작동했지만 메모에 더 많은 데이터 필드를 추가하려고하고 각 행에 대해 불필요한보기가 많아서 내 앱이 죽을 것입니다. 좀 더 역동적 인 솔루션이 필요합니다.

사용자 정의보기를 만드는 것이 가장 좋은 방법이라고 생각했습니다. 얼마나 많은 시간과 비용을 들이지 않고 텍스트 뷰를 만들거나 파괴하지 않고도 다양한 수의 텍스트 필드를 표시 할 수 있도록 내 뷰를 구현하거나 디자인 할 수 있습니까? 아니면 숨겨진 텍스트 뷰를 많이 유지할 수 있습니까?

답변

0

extends LinearLayout 인 클래스를 만들고 addView을 사용하면 동적으로보기를 배치 할 수 있습니다.

+0

내 목록을 채우고 오래된 목록을 채울 때마다 새 텍스트보기를 만들어야합니다. 나는 또한 그들을 추적하는 방법이 필요합니다. 이것이 제가 OP에서 피하려고했던 문제입니다. – CodeFusionMobile

+0

'LinearLayout'을 확장하면 원하는 경우 일부 재활용을 사용할 수 있습니다. 먼저 TextView를 추가해야하는 경우 사용할 수있는 것이 있는지 확인하고 그렇지 않은 경우 새 것을 만듭니다. – Macarse

0

stub으로보기를 들으면 좋을 것 같은데요. 스텁은 팽창 될 때까지 공간을 절약 할 것이므로 더 큰보기에서 사용될 때까지 각 행은 더 밝아집니다. 이러한 더 큰 뷰 수가 상대적으로 적 으면 오버 헤드를 약간 줄일 수 있습니다.

+0

괜찮 으면 좋겠지 만 ListView의 리사이클을 얼마나 잘 사용하는지 잘 모르겠습니다. 스텁 (Stub)을 교체하고 나면 뷰를 완전히 뒤죽박죽으로 교체 할 수 있으며 한 번만 사용할 수 있습니다. – CodeFusionMobile

+0

예,보기가 추가되면 주변에 추가/제거 또는 숨기기/표시하는 방법이 표시되지 않습니다. 내가 볼 수있는 가장 좋은 시나리오는 작은 뷰에 대해서만 재활용 될 수있는 뷰에서 일부 최적화를 얻는 것입니다. – jqpubliq

관련 문제