2010-12-28 3 views
0

내 목적을 위해 HorizontalScrollView의 기능을 수정하려면 사용자 지정 레이아웃으로 작업하고 있지만, 최소한의 테스트 응용 프로그램에서도 해당보기가 작동하는 데 문제가 있습니다.안드로이드 - HorizontalScrollView 아무것도 포함 할 수 없습니다

맞춤 레이아웃을 만드는 데 대한 자습서를 읽었으며 추가 기능을 사용할 수있는 것처럼 보였습니다.하지만 그 뷰의 하위 요소로 아무 것도 추가하려고하면 "IllegalStateException : HorizontalScrollView는 직접 자식 하나만 호스트 할 수 있습니다. " 이는 자식이 다른 레이아웃이거나 단일 버튼 일 때도 관계없이이 작업을 수행합니다.

나는 이것에 대한 간단한 이유가 있다고 확신하는데, 나는 그것을 찾을 수 없다. 문제가 무엇인지 알면 내 영웅이 올바른 방향으로 나를 가리켜 줄 것입니다. 미리 감사드립니다.

+0

내가 도울 수 있다고 생각하지 않지만 .. 스크롤보기에서 무엇을 재정의 했습니까? – bigstones

+0

아직 실제로, 나는 레이아웃을 모두 처음으로 작동 시키려고 노력해 왔기 때문에, 테스트해볼 수 있습니다. 일단 작동 시키면 터치 이벤트를 가로 채고 특정 동작을 확인한 다음 사용자가 수행 한 작업을 기반으로 메서드를 호출합니다. – Binx

답변

3

조금 늦을 수도 있지만 잘못 생각하는 것 같습니다. HorizontalScrollView는 직접 자식을 호스트 할 수 있습니다. 즉,이 ScrollView에 둘 이상의 자식을 정의하면 안됩니다. LinearLayout이나 그와 비슷한 것을 추가 한 다음, Button이나 원하는 것을 LinearLayout에 추가하십시오. :)

<HorizontalScrollView ...> 
    <LinearLayout ...> 
    <LinearLayout ... /> 
    <Button ... /> 
    </TextView ... /> 
    < ... /> 
    </LinearLayout> 
</HorizontalScrollView> 

물론 자바 클래스에서 HorizontalScrollView를 확장해도 동일한 작업을 수행 할 수 있습니다. 레이아웃 하나를 추가하고 레이아웃에 ScrollView에 추가 할 항목을 넣기 만하면됩니다.

관련 문제