Android 具有重叠元素的ListView

Android 具有重叠元素的ListView,android,listview,scrollview,Android,Listview,Scrollview,实施此类布局的更好解决方案是什么: 我试过: 带负分隔符的listview(当行需要 不同高度) 使用relativelayout(错误解决方案)滚动视图 因为内存消耗) 两个滚动列表视图 同时(非常糟糕) 为listview项目创建自定义布局 <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orien

实施此类布局的更好解决方案是什么:

我试过:

  • 带负分隔符的listview(当行需要 不同高度)
  • 使用relativelayout(错误解决方案)滚动视图 因为内存消耗)
  • 两个滚动列表视图 同时(非常糟糕)

  • 为listview项目创建自定义布局

     <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="2" >
    
            <LinearLayout
                android:id="@+id/evenSideLayout"
                android:layout_width="0dp"
                android:layout_height="50dp"
                android:layout_marginTop="25dp"
                android:layout_weight="1"
                android:orientation="vertical" >
            </LinearLayout>
    
            <LinearLayout
                android:id="@+id/oddSideLayout"
                android:layout_width="0dp"
                android:layout_height="50dp"
                android:layout_marginTop="0dp"
                android:layout_weight="1"
                android:orientation="vertical" >
            </LinearLayout>
        </LinearLayout>
    

    这是最糟糕的选择我想你试过你的解决方案吗?我认为这是行不通的,因为分配的项目不是一行一行的
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
    
            convertView = inflater.inflate(R.layout.item_option_layout, parent,
                    false);
            LinearLayout oddLayout = (LinearLayout) convertView.findViewById(R.id.oddLayout);
            LinearLayout evenLayout = (LinearLayout) convertView.findViewById(R.id.evenLayout);
            if(position%2==0)
            {
                evenLayout.setVisibility(View.VISIBLE);
                oddLayout.setVisibility(View.GONE);
            }
            else
            {
                evenLayout.setVisibility(View.GONE);
                oddLayout.setVisibility(View.VISIBLE);
            }
    
            return convertView;
        }