Scrollview内显示的列表适配器,而不是滚动列表视图?

时间:2011-10-14 19:21:45

标签: android list listview scrollview adapter

在我正在构建的应用程序中,我一直在通过BaseAdapter同步ListViews和未绑定的数据列表。到目前为止,这已经工作了,但现在我需要在ScrollView中有一个数据列表。将ListView放在ScrollView中的问题是两个视图都滚动并且使活动难以导航。从我在网上看到的共识似乎是,由于这个原因,ListViews永远不应该放在滚动视图中,而应该使用LinearLayout或TableLayout。

我的问题是:任何人都可以告诉我如何摆脱ListView上的滚动功能,或者如何通过适配器将数据列表与LinearLayout或TableLayout同步?

1 个答案:

答案 0 :(得分:0)

您可以创建自己的自定义ListView组件,然后覆盖dispatchTouchEvent()方法:

@Override
public boolean dispatchTouchEvent(MotionEvent event)
{
    int action = event.getAction();
    if (!scrollEnabled) {
        event.setAction(MotionEvent.ACTION_CANCEL);
        super.dispatchTouchEvent(event);
        return true; 
    }

    return super.dispatchTouchEvent(event);
}

在这些情况下,我过去所做的是为我的列表设置一个单独的垂直LinearLayout,并通过代码手动添加TextViews,使其看起来类似于listview。