gpt4 book ai didi

android - ListView 在 ScrollView 中的滚动功能

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:54:23 26 4
gpt4 key购买 nike

在 ScrollView 中的应用程序中,我使用的是 ListView 。但是 ListView 没有滚动。谁能建议我该怎么做。我搜索了一下,发现 ListView 不会在 ScrollView 中滚动
有什么解决办法吗?

最佳答案

您可以创建自己的 ListView 并将 expand 设置为 false。这是示例类

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()) {
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;
}
}

你可以像这样使用你的activity.clas

 ExpandableHeightListView listview = (ExpandableHeightListView) findViewById(R.id.list);
listview.setExpanded(true);

在布局文件中,您可以在 ScrollView 中的 ListView 位置使用 ExpandableHeightListView。它会滚动。

关于android - ListView 在 ScrollView 中的滚动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20659696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com