我需要使用自定义ListVAdapter找到android ListView的高度.每个ListView项目的高度可以不同.我试过以下代码,我在这里找到了:
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, MeasureSpec.UNSPECIFIED);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
listView.requestLayout();
}
Run Code Online (Sandbox Code Playgroud)
但它没有给出实际的高度; 它为所有列表项提供相同的高度.是否可以使用不同高度的列表项找到ListView高度?
我有一个Android布局设置,我有一个ScrollView与一些元素,在里面,我有一个ListView.我在滚动视图中使用StackOverflow的答案Android列表视图来实现此功能,并且它工作正常.我的ListView位于TextView,ImageView等一些元素之下.问题是,当页面出现时,ListView会自动滚动,以便listView中的第一项位于顶部(即整个scrollview会滚动显示listview第一项).如何避免这种自动滚动?
我想在android mapview中将屏幕坐标转换为Geopoint.我需要在屏幕中心显示一个标记(mapview填充在窗口中).所以我尝试使用显示度量getWidth()和getHeight()方法获取中心坐标,并使用mapView.getProjection().fromPixels(height/2,width/2)转换为geoppoint.但它似乎给出了错误的结果.我该怎么办?
我是铁杆新手.我想知道rails中的文件上传过程.任何人都可以帮助我...谢谢,Althaf