关于listView设置背景引起StackOverflowError 的疑惑

当listview中的布局设置成
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent" android:layout_height="wrap_content"
	android:background="@drawable/bg" android:orientation="vertical">
	<FrameLayout android:orientation="vertical"
		android:layout_width="fill_parent" android:layout_height="fill_parent"
		 android:layout_marginTop="10px"
		android:layout_marginLeft="2px" android:layout_marginRight="2px"
android:background="@drawable/list_bg">
		<ListView android:id="@android:id/list"
			android:layout_width="fill_parent"
			android:layout_height="wrap_content">
		</ListView>
	</FrameLayout>
	</LinearLayout>


调整后不报错的布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent" android:layout_height="wrap_content"
	android:background="@drawable/bg" android:orientation="vertical">
	<FrameLayout android:orientation="vertical"
		android:layout_width="fill_parent" android:layout_height="fill_parent"
		 android:layout_marginTop="10px"
		android:layout_marginLeft="2px" android:layout_marginRight="2px">
		<ListView android:id="@android:id/list"
			android:layout_width="fill_parent"
			android:layout_height="wrap_content"
			android:background="@drawable/list_bg">
		</ListView>
	</FrameLayout>
	</LinearLayout>

第一个会报StackOverflowError,于是我把背景图片设置到listView中,就不会再报堆溢出了,不知道什么原因。
更让我疑惑的是,第一个的那个布局在listview中数据从网络上拿到时也不会报错,只有当listView中数据硬编码到本地才会报错,这究竟是什么原因呢?
后来查了相关资料发现 listview的布局不能弄得太复杂,还有用framelayout这种布局的话也是会有一定关系的。


你可能感兴趣的:(xml)