在加载前几个item的时候,listview有个Adapter,里面的getView方法会被调用好几遍。原因可能有两种:
1.listview在布局文件里高度写成了wrap_content
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/ll_root" android:orientation="vertical" > <!-- <ImageView android:id="@+id/iv_image" android:layout_width="match_parent" android:layout_height="180dp" android:scaleType="fitXY"/> --> <ListView android:id="@+id/lv_list" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout>
由于app不知道你这个listview要用多少个item才能撑满全屏,所以它就不停地试,直到满为止。
2.布局文件里没有listview,而是在代码里new出来listview,而且没有指定listview的高度是match_parent
LinearLayout llRoot = (LinearLayout) findViewById(R.id.ll_root); ListView lv = new ListView(this); llRoot.addView(lv); lv.setAdapter(new BaseAdapter() { 。 。 。
原因跟第一种情况的原因是一样的
时间: 2024-12-28 08:40:28