【问题标题】:android: listview inside a scrollView doesn't work?android:滚动视图中的列表视图不起作用?
【发布时间】:2012-01-31 13:07:44
【问题描述】:
我在scrollview 中有一个listview,但问题是scrollview 正在滚动,而listview 没有滚动。我认为这是由于scrollView。
有工作解决方案的人可以在这里发布作为参考吗?
【问题讨论】:
标签:
android
listview
scrollview
【解决方案1】:
一般情况下,您不能将可滚动的东西放在其他可滚动的东西中,它们以相同的方向滚动,并且结果是可靠的。有时这有效(例如,WebViews 在 ViewPager 中),但这是例外,而不是常态。
要么:
【解决方案2】:
如果您将 ListView/任何可滚动视图放在 scrollView 中,它将无法正常工作,因为当您触摸屏幕时,触摸的主要焦点是父视图 (scrollView) 而不是子视图 (ListView)。
【解决方案3】:
ListView 在您的 XML 文件中必须具有如下固定高度
<ListView android:id="@+id/lv"
android:listSelector="#0f0"
android:layout_width="fill_parent"
android:layout_height="500px" />
在Java文件中,在setContentView()
之后写下代码
lv = (ListView)findViewById(R.id.lv);
lv.setAdapter(your adapter here); // you have to add your adapter here
lv.setOnTouchListener(new ListView.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_MOVE)
{
lv.scrollBy(0, 1);
}
return false;
}
});
对您的代码进行这些更改并进行测试。经过太多的实验,我写了这段代码。它工作 100% 正常。