带有2个ListView和标题的视图移动其他列表视图

时间:2013-03-18 15:43:54

标签: android android-listview

在我看来,我有2个列表视图,都有一个标题。当我滚动一个列表时,另一个列表视图也移动(不是很多),但它移动到标题不再可见的地方。

如果删除标题,则不会发生这种情况。

在我的xml中我设置android:splitMotionEvents="true"但是没有做任何事情

这就是我在listviews中设置标题的方式

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle saved){
    View v = inflater.inflate(R.layout.sin_preplan_layout,container,false);

    sinList = (ListView)v.findViewById(R.id.sin_listView);
    prePlanList = (ListView)v.findViewById(R.id.preplan_listView);

    sinList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
    prePlanList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

    View v2 = inflater.inflate(R.layout.sin_preplan_header,(ViewGroup) v.findViewById(R.id.header_layout_root));

    prePlanList.setHeaderDividersEnabled(true);
    prePlanList.addHeaderView(v2);
    sinList.addHeaderView(v2);

    return v;
}

关于为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:0)

您正在向不同的视图添加两次相同的实例,这是不鼓励的。试试这个:

View firstHeader = inflater.inflate(R.layout.sin_preplan_header,(ViewGroup) v.findViewById(R.id.header_layout_root));
prePlanList.addHeaderView(firstHeader);

View secondHeader = inflater.inflate(R.layout.sin_preplan_header,(ViewGroup) v.findViewById(R.id.header_layout_root));
sinList.addHeaderView(secondHeader);