我想设置listview行高度而不是自定义listview和新arrayadapter。 我将高度设置为LayoutParams.WRAP_CONTENT;我得到这个在logcat的listview row height
02-19 20:42:25.721: E/AndroidRuntime(6936): at android.widget.AbsListView.obtainView(AbsListView.java:2465) 02-19 20:42:25.721:
E/AndroidRuntime(6936): at android.widget.ListView.measureHeightOfChildren(ListView.java:1250)
这里是我查看代码:
public View getView(int position, View convertView, ViewGroup parent) {
System.gc();
TextView tv = new TextView(mContext.getApplicationContext());
LayoutInflater inflater = getLayoutInflater();
LayoutParams params = tv.getLayoutParams();
String id = null;
mRowHeight = LayoutParams.WRAP_CONTENT;
if (params == null) {
music_column_index = musiccursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME);
musiccursor.moveToPosition(position);
id = musiccursor.getString(music_column_index);
music_column_index = musiccursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE);
musiccursor.moveToPosition(position);
id += musiccursor.getString(music_column_index);
tv.setText(id);
params.height = mRowHeight;
} else
tv = (TextView) convertView;
return tv;
是否有任何特定的原因,你在getView中调用'System.gc()'这是一个经常被调用的函数? – 2013-02-19 19:47:34