2009-10-06 6 views
11

LinearLayout에 여러 개의 ListView가 있습니다. 그것은 일별로 나열하고 있으므로 "일요일 :"다음에 "월요일"TextView 등의 항목 목록이 오는 TextView가 있습니다. 위대한 기능이지만 화면에 맞지 않습니다. 그래서 ScrollView를 LinearLayout의 부모로 추가했습니다. 이제는 스크롤되지만 ListView에는 모두 0 또는 3 개의 항목이 있는지 여부에 관계없이 2 개의 항목에 대한 여유 공간이 있습니다. ScrollView 부모 추가에 대한 뭔가 ListViews 동적으로 크기가 없습니다. 목록 어댑터가 자신의보기를 채운 후 ScrollView에 requestLayout() 호출했는데 아무 것도하지 않았습니다. 어떤 아이디어?Android ScrollView 레이아웃 문제

편집 : http://www.anddev.org/viewtopic.php?p=25194 및 기타 링크에서 ScrollView 내의 ListView가 올바르게 처리되지 않는 것으로 보입니다. 누구든지 목록의 목록을 구현하기위한 좋은 제안을 가지고 있습니까?

+0

당신이 당신의 레이아웃 XML을 게시 할 수 있을까요? android : layout_height = "wrap_content"또는 유사하게 ListViews를 설정 했습니까? – svens

+0

현재 레이아웃에 액세스 할 수 없습니다. LinearLayout 내부의 모든 뷰는 layout_height = "wrap_content"이고 LinearLayout 및 ScrollView는 layout_height = "fill_parent"입니다 (LinearLayout에서 wrap_content 시도). ScrollView를 주석 처리하면 모든 것이 올바르게 배치되지만 화면에서 사라집니다. – Aaron

+0

ListView를 ListView로 가져 오시겠습니까? :) 나는 그것이 올바르게 ListView 아래에있는 TextView에서 평일의 모든 목록을 만들고 싶다면 그것을 이해합니다. 이것은 사용자 정의 어댑터에서 구현 가능해야합니다. ResourceCursorAdapter를 확장하는 방법을 설명하는 내 질문에 대한 대답 (http://stackoverflow.com/questions/1505751/android-binding-data-from-a-database-to-a-checkbox-in-a-listview)을 참조하십시오. 어쩌면 이것은 ListView를 평일 ListViews + Caption으로 채우는 어댑터를 만드는 데 도움이 될 것입니다. – svens

답변

14

나는 그 주제에도 관심이있어, 약간의 연구를했다. 첫 번째 : 절대 ListView를 ScrollView에 두지 마십시오. 불행히도이 문제를 인터넷 검색으로 해결할 수있는 해결책이 없으므로 위의 의견에서 제 제안을 시도했습니다.

사용자 지정 ListAdapter를 구현하고 ListView를 하나의 부모 ListView에 넣었습니다. 이 작동하지 않습니다 (ScrollView 같은 문제가 발생합니다). 공식적인 android-irC# android-dev에서 freenode에 대해 말하면서, ListView를 ListView에 넣는 것이 ScrollView에 넣는 것보다 좋지 않거나 나쁘다고 말했습니다. 불행히도 그들은 또한이 문제로 나를 도울 수 없었다.

당신이하고 싶은 것을 성취하는 유일한 방법이있는 것처럼 보입니다. 비슷한 질문 인 Scrolling with Multiple ListViews for Android에 대한 답을 참조하십시오. 아이디어는 사용자 지정 어댑터에 의해 모든 ListView를 단일 항목으로 병합하고 항목간에 일종의 헤더를 삽입하는 것입니다. 이것은 절대적으로 가능하지만 특별한 노력이 필요할 수도 있습니다.

+1

왜 scrollviews에 listviews를 넣지 않아야합니까? – MalcomTucker

+16

이 폭발하기 때문입니다. – stealthcopter

6

나는 지금 당장이 대답에 늦었지만 여전히 비슷한 문제가 발생하면 여기 도착한 사람들에게 유용 할 수 있음을 알고 있습니다.

이 경우 Expandable ListView를 사용하는 것이 좋습니다. 그것은 모든 문제를 해결할 것입니다. 기본/상위 이름을 주 이름으로 사용할 수 있으며 확장 할 때 특정 요일/주/모든 항목의 목록을 갖게됩니다. 또한 , 당신은 안드로이드 :)으로 돌보아으로 스크롤이 시도하는 경우에

가, 다음이 확장에 대한 예제를 검색해보세요 문제를 위해 밖으로 작동하는지 알려 주시기 바랍니다에 대해 걱정할 필요가 없습니다 것입니다 목록보기.

편집 : 여기에 예를 체크 - http://mylifewithandroid.blogspot.com/2008/05/expandable-lists.html

+0

정말 확장 가능한 목록 조회수는 길입니다. – Axarydax