android ListView下拉刷新疯狂调用getView 解决办法

本文讨论了在Android应用中使用ListView组件时遇到的布局大小调整问题,并提供了通过代码手动设定ListView尺寸的解决方案。通过获取屏幕尺寸的DisplayMetrics,开发者可以灵活地调整ListView的显示效果,从而避免了依赖于默认布局大小带来的困扰。

网络上下拉刷新的代码一堆一堆的,我这里就不介绍了。。

当执行下拉刷新时候,会疯狂调用getview,于是我百度了很多方法,很多说listview的布局要固定大小,改成

android:layout_height="fill_parent" android:layout_height="fill_parent"

经过测试,失败了。。。。。。。


于是我想到了在代码里手动修改listview的大小


DisplayMetrics dm = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(dm);
		Log.i(TAG, "heigth : " + dm.heightPixels);
		Log.i(TAG, "width : " + dm.widthPixels);
		
	
		listView = (ListView) findViewById(R.id.def_list);
		LayoutParams p = (LayoutParams) listView.getLayoutParams();
		p.height = dm.heightPixels / 3 * 2;
		p.width = dm.widthPixels;
		listView.setLayoutParams(p);
		listView.setAdapter(new myAdatper(this));
在代码里,手动设定了listview的长宽。问题解决了。。。。。。