2011-09-27 7 views
0

나는 안드로이드 응용 프로그램에서 일하고 있는데, 나는 한 가지 방법으로 결정할 수 없다는 결정을 내 렸습니다. 나는 누군가가 공통된 관행과 그것을 뒷받침하는 어떤 이론에 대해 밝힐 수 있기를 희망했다.ListView 대 중첩 된 레이아웃 [찬성/반대]

는 여기에 문제가있다 :

나는 이미지와 테이블 등의 텍스트 항목의 목록을 갖고 싶어 ...

나라.... -. - - - - - .- 팝 -. - SqrMi

[IMG] 미국 -. - - - - - .-.... XXX -.-.- xxxxx는

지금은 데 논쟁에리스트 뷰를 사용할지 여부입니다 데이터를 표시하거나 대신 스크롤 가능한 레이아웃을 중첩하고 그런 방식으로 데이터를 표시하십시오.

중첩 레이아웃을 고려하는 이유는 무엇입니까? 적응성. 저는 디바이더를 디자인 할 수 있습니다. 아마 위/아래의 몇 가지 그래프를 던질 수 있습니다. 각 목록 항목의 높이를 변경하십시오 (예 : 하나의 목록 항목에 그래프를 표시하고 다음 그래프를 표시하지 않으려는 경우).

내가 일반적으로 받아 들일 수 없는지 확실하지 않습니다. 여기 방법. 누구든지 이것에 대해 밝힐 수 있습니까?

답변

2

중첩 된 레이아웃을 사용할 때 유일한 주요 문제는 메모리 소비입니다. ListView은 자식을 다시 사용하므로 자식을 더 이상 생성하지 않으므로 한 번에 표시 할 수 있습니다. 이 설명은 조금 단순화되었지만 ListView의 목적을 보여주기를 바랍니다. 또한 ListView은 빠른 스크롤을 구현하므로 크기를 결정하기 위해 모든 하위 항목을 측정 할 필요가 없습니다. ListView은 어댑터를 사용하여 데이터를 채 웁니다. 데이터를 얻는 편리하고 좋은 방법입니다.

많은보기가 포함 된 ScrollView을 만들면 느리게 재생되며 데이터로 채우기가 어려우며 돈을 지불하지 않아도 모든 하위보기를 만들려면 많은 메모리가 필요합니다. 그들 중 일부는 보지 못한다.

그리고 유연성이 약 ListView입니다. 하나의 ListView에 다양한 유형의보기를 저장할 수 있으며이보기의 높이를 다양하게 조정할 수 있습니다.

+0

이러한 기술을 구현하는 방법에 대한 자습서/자료를 제공 할 수 있습니까? – Rawr

+0

다음은 간단한 자습서입니다. http://developer.android.com/resources/tutorials/views/hello-listview.html. 불행하게도 나는 어댑터에 대한 튜토리얼을 모른다.하지만 인터넷을 통해 많은 정보를 얻을 수있을 것이다. stackoverflow에서 일부 어댑터 관련 질문을 검색 할 수 있습니다. – Michael

+0

또한'BaseAdapter' 및'ArrayAdapter' 클래스를 살펴보십시오. 그것은 당신 자신의 어댑터를 개발하기위한 좋은 출발점입니다. 이 클래스의 소스 코드를 읽을 수도 있습니다. 그들은 꽤 간단합니다. – Michael

0

"중첩 된 레이아웃"에 대해 설명한 모든 사항은 ListView를 통해 얻을 수 있습니다. 다른 유형의 행을 사용하고 어댑터의 머리글/바닥 글을 사용하십시오.

Pixie가 말했듯이 ListView는 훨씬 더 효율적이고 빠른 메모리입니다.