Android 如何使listview在不滚动的情况下显示所有项目?
我知道在ScrollView中放置ListView是不可取的。但我必须使用ListView,因为我使用的是适配器和其他各种方法 我使用了这段代码,我在StackOverflow上找到了这段代码,它显示了我列表中的大部分内容。但是,在纵向模式下,一些项目从底部被切断,而在横向模式下则是相同的 如何纠正这一点?为了澄清这一点,我有一个ScrollView,其中包含一些元素的LinearLayout和XML中的ListView。 此外,如果我转到一个新的活动,然后返回,我可以短暂地看到listview的滚动条显示和消失。这又如何纠正呢Android 如何使listview在不滚动的情况下显示所有项目?,android,listview,Android,Listview,我知道在ScrollView中放置ListView是不可取的。但我必须使用ListView,因为我使用的是适配器和其他各种方法 我使用了这段代码,我在StackOverflow上找到了这段代码,它显示了我列表中的大部分内容。但是,在纵向模式下,一些项目从底部被切断,而在横向模式下则是相同的 如何纠正这一点?为了澄清这一点,我有一个ScrollView,其中包含一些元素的LinearLayout和XML中的ListView。 此外,如果我转到一个新的活动,然后返回,我可以短暂地看到listview
public static boolean setListViewHeightBasedOnItems(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter != null) {
int numberOfItems = listAdapter.getCount();
// Get total height of all items.
int totalItemsHeight = 0;
for (int itemPos = 0; itemPos < numberOfItems; itemPos++) {
View item = listAdapter.getView(itemPos, null, listView);
item.measure(0, 0);
totalItemsHeight += item.getMeasuredHeight();
}
// Get total height of all item dividers.
int totalDividersHeight = listView.getDividerHeight() *
(numberOfItems - 1);
// Set list height.
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalItemsHeight + totalDividersHeight;
listView.setLayoutParams(params);
listView.requestLayout();
return true;
} else {
return false;
}
}
public静态布尔setListViewHeightBasedOnItems(ListView ListView){
ListAdapter ListAdapter=listView.getAdapter();
if(listAdapter!=null){
int numberOfItems=listAdapter.getCount();
//获取所有项目的总高度。
int totalItemsHight=0;
对于(int-itemPos=0;itemPos
使用回收器视图或列表视图,并使用视图类型来膨胀不同的布局,而不是使用scroolview并在其中嵌套其他视图组。我认为您的问题有点误导。一个列表视图
怎么能在我们处理这些微小的移动屏幕时不滚动地显示所有项目呢
也许您不想显示滚动条
,然后您可以在滚动视图
上这样设置属性
:
android:scrollbars="none"
对于我相对简单的活动来说,这似乎过于复杂了。我在顶部有一些单选按钮和标题。使用搜索过滤器和listview。不,它将简化您的问题,并将其分解为几个内聚和次优的组件(布局)。未经解释的向下投票:(?我认为最好使用带有标题的listview。似乎工作得很好。