Android 如何在Scrollview中创建multiplelistview?

Android 如何在Scrollview中创建multiplelistview?,android,Android,在我的代码中有四个listview如何使屏幕可滚动以显示所有listview的所有数据?不是这个代码使listview可滚动我不想要listview滚动想要屏幕像这样可滚动 切勿在滚动视图中使用两个列表视图 如果有固定数量的视图,请不要尝试使用列表视图,而是使用线性布局。因为listview将有自己的滚动条,这也不是一个好的用户体验。您可以尝试使用可扩展的listview解决此问题, 试试下面的链接 在scrollview中使用此自定义listview组件 package com.app.Set

在我的代码中有四个listview如何使屏幕可滚动以显示所有listview的所有数据?不是这个代码使listview可滚动我不想要listview滚动想要屏幕像这样可滚动


切勿在
滚动视图中使用两个
列表视图


如果有固定数量的视图,请不要尝试使用
列表视图
,而是使用
线性布局
。因为listview将有自己的滚动条,这也不是一个好的用户体验。

您可以尝试使用可扩展的listview解决此问题, 试试下面的链接
在scrollview中使用此自定义listview组件

package com.app.Settings;

import android.content.Context;
import android.util.AttributeSet;
import android.view.ViewGroup;
import android.widget.ListView;

public class ExpandableHeightListView extends ListView
{

boolean expanded = false;

public ExpandableHeightListView(Context context)
{
    super(context);
}

public ExpandableHeightListView(Context context, AttributeSet attrs)
{
    super(context, attrs);
}

public ExpandableHeightListView(Context context, AttributeSet attrs,int defStyle)
{
    super(context, attrs, defStyle);
}

public boolean isExpanded()
{
    return expanded;
}

@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
    // HACK! TAKE THAT ANDROID!
    if (isExpanded())
    {
        // Calculate entire height by providing a very large height hint.
        // But do not use the highest 2 bits of this integer; those are
        // reserved for the MeasureSpec mode.
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);

        ViewGroup.LayoutParams params = getLayoutParams();
        params.height = getMeasuredHeight();
    }
    else
    {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}

public void setExpanded(boolean expanded)
{
    this.expanded = expanded;
}
} 
如何在XML中使用?

 <yourPackageName.ExpandableHeightListView
        android:id="@+id/expandableHeightlist1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"   
        android:cacheColorHint="#00000000"
        android:fadingEdge="none"
        android:focusable="false"
        android:scrollbars="none"
        >
    </yourPackageName.ExpandableHeightGridView>
通过使用此自定义组件,可以在scrollview中设置多个listview。我正在使用这个自定义组件


享受:)

列表视图本身是可滚动的。把它放在滚动视图中可能是个坏主意!我将数据保存在listview listMainMenu.setAdapter(mma)的适配器中;中学名单。设置适配器(mma);高中名单。设置适配器(mma);Atipicalschoollist.setAdapter(mma);从服务器获取的数据是动态的,因此必须显示inlistview?????那么我如何在fourlist视图中显示动态数据,如屏幕截图?但我的问题是我想使屏幕与此图像相同加载动态数据从服务器的ListView中显示从您的图像似乎有3个动态数据集,其中3个不同的数据总计为9,所以我建议在这种情况下,你应该使用一个线性布局为所有的集合,在这3个线性布局中创建3个按钮并填充你得到的数据。没有数据将是动态的,可能是3个可能是4个可能是b是5个是从服务器获取的看,你不能在一个屏幕上有两个滚动条顺利工作。在这种情况下,您可以根据从服务器获取的数据大小动态地向布局中添加按钮。请稍候,我会在5分钟内回复您。我把这个放在哪里了?在main.java文件或xml文件中??显示错误,类型Objectim declair istview的方法setExpanded(布尔值)未定义,如listMainMenu=(ListView)findViewById(R.id.listMainMenu11);这是正确的???我深入Android源代码repo,发现
ScrollView.measureChildWithMargins()
强制其子视图高度最小。因此,如果希望嵌套的AdapterView(例如ListView)在父ScrollView中的高度完全展开,那么这种攻击是非常必要的。父AdapterView中的嵌套AdapterView也可能如此。
 <yourPackageName.ExpandableHeightListView
        android:id="@+id/expandableHeightlist1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"   
        android:cacheColorHint="#00000000"
        android:fadingEdge="none"
        android:focusable="false"
        android:scrollbars="none"
        >
    </yourPackageName.ExpandableHeightGridView>
yourListView.setExpanded(true);