1、ScrollView中使用ListView:
ScrollView中嵌套使用ListView会出错,因为ScrollView和ListView都是在垂直方向上滚动的。
如果实在需要在ScrollView中使用ListView,可以自定义一个类继承自ListView,令滚动事件不响应。(但其实这样的情况下可以换用TableLayout来处理。)
public class NotScrollListview extends ListView {
public NotScrollListview(Context context, AttributeSet attrs) {
super(context, attrs);
}
//设置不滚动
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
2、ScrollView中使用TextView:
TextView也是可以自己滚动的,一般也不需要ScrollView。但二者也是可以嵌套使用的。
根据文档所述:
The TextView
class also takes care of its own scrolling, so does not require a ScrollView, but using the two together is possible to achieve the effect of a text view within a larger container.
如果想在ScrollView中使用TextView,必须先把TextView放在一个容器中,例如,先放在一个LinearLayout中,再将LinearLayout放进ScrollView中。
另外,ScrollView只能在垂直方向上滚动,要实现水平方向的滚动,使用 HorizontalScrollView。