我正在使用自定义布局来修改HorizontalScrollView的功能以达到我的目的,但即使在最低限度的测试应用中,我也无法使该视图正常工作。
我已经完成了一个关于制作自定义布局的小教程,看起来我可以添加它,但是当我尝试添加任何内容作为该视图的子项时,我会收到错误“IllegalStateException:HorizontalScrollView只能容纳一个直接的孩子“。无论孩子是另一种布局,还是只是一个按钮,它都会这样做。
我确信这有一个简单的原因,我找不到它。如果您知道问题可能是什么,那么您将成为我的英雄,指出我正确的方向。提前谢谢!
答案 0 :(得分:3)
可能会有点迟,但我想我知道你做错了什么。 HorizontalScrollView只能托管一个直接子项。这意味着,您不能在此ScrollView中定义多个子项。所以只需添加一个LinearLayout或类似的东西,然后将你的Buttons或你需要的东西添加到LinearLayout中。 :)
<HorizontalScrollView ...>
<LinearLayout ...>
<LinearLayout ... />
<Button ... />
</TextView ... />
< ... />
</LinearLayout>
</HorizontalScrollView>
当然,在java类中扩展HorizontalScrollView时也可以这样做。只需添加一个布局,并在该布局中添加要添加到ScrollView的内容。