我一直在尝试将ListView破解为ScrollView。正如许多线程所指出的,这是一种非常糟糕的做法(见How can I put a ListView into a ScrollView without it collapsing?)。我目前正在测量ListView的高度并使用此处提出的解决方案(https://stackoverflow.com/a/3495908/924217)来修复其大小,该解决方案适用于相同高度的行,但对于可变高度测量不正确(报告所有行的最小高度)。对于快速和脏的修复,有谁知道如何正确测量高度可变行的高度?
更合适的是,任何人都可以指出我使用LinearLayouts的好方法。我正在尝试使用ListView,因为我需要动态添加和删除到列表中的项目。如果没有适配器和ListView占用的其他细节,我想不出任何方便的方法。有人可以帮我找到一个正确处理的例子吗?此外,是否有任何开源项目涵盖这个?我见过很多人提出类似的问题而且很少有非黑客的决心。
答案 0 :(得分:0)
我建议您使用listfragment,以便动态添加/删除项目。
答案 1 :(得分:0)
此处parentScroll =您的主滚动视图和childScroll =您的列表视图
parentScroll.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Log.v("PARENT", "PARENT TOUCH");
findViewById(R.id.child_scroll).getParent()
.requestDisallowInterceptTouchEvent(false);
return false;
}
});
childScroll.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Log.v("CHILD", "CHILD TOUCH");
// Disallow the touch request for parent scroll on touch of
// child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});