`
serryzhao
  • 浏览: 116336 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于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这种布局的话也是会有一定关系的。


分享到:
评论

相关推荐

    ListView、ListBox背景样式

    ### WPF/C#中ListView与ListBox的背景样式及选中行样式详解 #### 一、概述 在WPF(Windows Presentation Foundation)应用开发中,`ListView`和`ListBox`是两个非常常用的数据展示控件。它们能够以列表的形式展示...

    Listview隔色背景设置

    本篇文章将深入探讨如何设置ListView的隔色背景,并提供实际的代码示例。 1. **基础设置** 首先,你需要创建一个自定义的ListView适配器,通常是继承自BaseAdapter。在适配器中,你可以为每个列表项视图...

    VB实现对Listview列表控件的换色、添加背景色效果.rar

    VB实现对Listview列表控件的换色、添加背景色效果,可对ListView列表进行换色,示例给出了三种颜色样式,另外还可决定是否显示网格,你可把本源码作为一个为ListView列表每行添加背景色的例子,这样会使显示在里面的...

    Android ListView设置选中项背景

    Android ListView设置选中项背景,并添加了按钮控制选择的方式,当用按钮控制选择的时候,选中项会出现不在显示范围内的情况,这个问题也一并解决了, ListView设置选中项背景是通过重写adapter类来实现的, 选中项...

    pb listview background 背景 pb9

    pb listview background 背景 pb9 listview加背景图片 运行效果http://hi.csdn.net/attachment/201101/17/0_1295225314Du5X.gif

    WPF ListView 选择和鼠标移上去行背景颜色的去除与更改

    在ControlTemplate内,找到并删除或注释掉引起背景颜色变化的部分,比如ItemContainerStyle中的触发器(Triggers)。默认情况下,触发器可能包含类似以下的代码: ```xml ``` 要添加自定义的颜色,可以...

    解决ListView滚动背景变黑问题

    另一种方法是在`ListView`的XML布局文件中设置`android:drawSelectorOnTop="true"`,并将`android:listSelector`的值设为透明(`"#00000000"`),这可以确保选择器的绘制不会覆盖背景色,同时避免黑色背景的出现。...

    圆角背景的ListView

    最后,文章可能会提及如何在代码中动态设置圆角,例如根据业务需求动态改变圆角大小,或者在数据加载完成后更新ListView的背景。 总之,“圆角背景的ListView”这个主题涵盖了Android自定义Adapter、布局设计、性能...

    listview中改变item背景颜色

    因此,改变Item背景颜色通常有两种方法:一种是在Adapter中自定义视图,另一种是通过设置ListView的ItemDecoration。 1. 自定义Adapter中的View: 在自定义Adapter时,我们可以在`getView()`方法中动态设置每个...

    android中设置ListView的选中的Item的背景颜色

    然而,它在默认情况下并未设置选中项的背景颜色,而是仅提供了一个聚焦效果,即当用户点击ListView的某一项时,该项目会获得一个高亮显示,但一旦手指移开,这个高亮效果就会消失。针对这一需求,我们需要自定义...

    标准简洁优化的ListView背景颜色不失效

    本示例着重解决了一个常见的问题:在ListView滚动时,列表项的背景颜色容易失效,导致用户体验下降。为了解决这个问题,我们将深入探讨ListView的工作原理、优化策略以及如何确保背景颜色在滚动过程中始终保持有效。...

    Listview单元格颜色设置

    ### Listview单元格颜色设置详解 在开发图形用户界面(GUI)应用时,列表视图(ListView)是一种常用的控件,用于展示具有多个列的数据集合。对于开发者而言,能够自定义ListView中的各项视觉属性(如字体、背景色等...

    自定义ListView背景

    自定义ListView的背景不仅可以提升应用的视觉效果,还能提供更个性化的用户体验。本篇将深入探讨如何在Android中实现自定义ListView背景,并结合源码分析和实用工具来增强我们的开发能力。 1. **自定义背景的基本...

    在ListView中实现自定义图片背景,无闪烁,背景不随ScrollBar移动,背景请选择为clWindow

    然而,有时我们可能需要对ListView进行个性化定制,比如设置自定义的图片背景。本教程将详细介绍如何在ListView中实现自定义图片背景,并确保背景在滚动条滚动时保持静止,且无闪烁效果。 1. **自定义图片背景**: ...

    自定义listview 圆角listviewitem 处理 选中背景处理

    然后将其设置为ListView项的背景。例如: ```xml &lt;item android:state_pressed="true" android:drawable="@drawable/bg_pressed" /&gt; &lt;!-- 按下状态 --&gt; ...

    android 动态改变listview某一条的背景颜色

    我们常见的androidlistview 都是整体改变背景颜色,我今天上传的是 动态改变listview 其中一条或者多条的背景颜色,以及改变item的颜色。 不需要添加list的点击事件 就可以完成。

    C# Listview固定列宽

    2. **禁用列宽调整**:为了防止用户调整列宽,我们需要设置`ListView`的`View`属性为`Details`(默认值),然后将`AllowColumnResize`属性设为`false`: ```csharp listView.View = View.Details; listView....

    关于ListView的知识

    - `setAdapter(Adapter adapter)`:设置ListView的数据源。 - `addHeaderView(View view)` / `addFooterView(View view)`:添加头部和尾部视图。 - `setOnItemClickListener(OnItemClickListener listener)`:...

    ListView标题栏划动隐藏,拉动listView头部背景图实现刷新

    设置SwipeRefreshLayout时,需要将ListView作为其子元素,并设置一个回调接口(onRefreshListener)来处理实际的刷新逻辑。当用户下拉到一定程度,回调会被触发,此时可以进行数据加载或更新的操作,完成后调用 ...

    ListView的嵌套,动态设置ListView的高度

    3. **设置子ListView的高度**:在测量得到高度后,可以在父ListView的`getView()`中设置子ListView的高度。例如,可以使用`LayoutParams`来修改子ListView的布局参数。 4. **处理滚动事件**:为了保证嵌套的...

Global site tag (gtag.js) - Google Analytics