android listview 加载遇到的问题

http://blog.csdn.net/l_serein/article/details/7706338

转载:

描述一下场景:

菜单栏上有若干分类,点击每一个分类,ListView下分根据分类显示出相应的内容.

--------------------------

1.切换分类时出现异常.描述如下:

E/AndroidRuntime(8131): java.lang.IndexOutOfBoundsException: Invalid index 11, size is 0

E/AndroidRuntime(8131): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)

E/AndroidRuntime(8131): at android.widget.HeaderViewListAdapter.isEnabled(HeaderViewListAdapter.java:164)

可能的原因是这样的:

我切换分类的时候,ListView要先清空,然后再ListView再滚动的时候记下了下一次的Index.再去加载的时候就出现了IndexOutOfBoundsException. 所以,我在切换分类的时候加上

mAnnouncementLv.setAdapter(mBulletinAdapter);

加上这个就OK,不报边界溢出错误了...

转载结束

我与这位大神的遇到的问题相同,就是通过大神的方法来解决的

这其实就相当与刷新的功能,也可以用listviewadapter.notifyDataSetChanged();方法来解决这个问题,既当listview的值发生变化时,需要调用这个方法来刷新

时间: 2024-10-10 17:38:18

android listview 加载遇到的问题的相关文章

Android ListView加载更多

先看效果: ListView的footer布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap

Android listview 加载更多定位问题

我们用Android在做Listview加载更多数据时,如果每次都重新new Adapter的话,视图就会滑动到第一条. 后来我发现listview有一个方法可以获取最顶部时哪一个 int  position = mListView.getFirstVisiblePosition(); 这样就可以获取目前显示的第一行到底是多少条. 于是我有找到一个方法,加载更多数据后.我们设置一下他的选取位置,就不会有滚动到第一个条了 mListView.setSelection(position); 但是仔细

【转】Android ListView加载不同的item布局

原创教程,转载请保留出处:http://www.eoeandroid.com/thread-72369-1-1.html 最近有需求需要在listView中载入不同的listItem布局,开始没有使用convertView,加载了多个item后导致了内存泄露,所以回来研究convertView在多个listItem布局时的缓存及应用,并且和大家分享 构造Adapter时,没有使用缓存的 convertView,导致内存泄露 示例代码:public View getView(int positio

【Android笔记】listview加载性能优化及有多种listitem布局处理方式

在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容. 用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象的创建. ListView加载数据都是在 1 public View getView(int position, View convertView, ViewGroup parent) { 2 3 ...... 4 5 }

Android动态加载ListView中的Item

我这周上网看到动态增加listview的每一项item的布局,今天抽空自己写了一个,方便自己日后使用,这个效果还是很不错的,用到了Adapter的notifyDataSetChanged()方法,当点击每一个Item的时候,就通知adapter更新getView,系统得到通知就相应的加载一遍布局,就达到了动态加载item布局的效果.希望给大家带来点启迪,有问题或想要代码的可以留言,欢迎大家留言谈论listview的一些知识,以求共同进步,转载请标明出处: http://blog.csdn.net

Android错误之ListView加载错位_ListView图片错位

又遇到ListView加载item时,多个item中的图片会错位的情况 现象如下图,同一个人的头像显示的乱七八糟 找了一张图,很好地说明了问题的原因 问题原因就在于convertView的重用,当重用 convertView 时,最初一屏显示 7 条记录, getView 被调用 7 次,创建了 7 个 convertView, 当 Item1 划出屏幕, Item8 进入屏幕时,这时没有为 Item8 创建新的 view 实例, Item8 复用的是Item1时候创建的view, Item8

Android异步加载全解析之开篇瞎扯淡

Android异步加载 概述 Android异步加载在Android中使用的非常广泛,除了是因为避免在主线程中做网络操作,更是为了避免在显示时由于时间太长而造成ANR,增加显示的流畅性,特别是像ListView.GridView这样的控件,如果getView的时间太长,就会造成非常严重的卡顿,非常影响性能. 本系列将展示在Android中如何进行异步加载操作,并使用ListView来作为演示的对象. 如何下载图像 下载自然是需要使用网络,使用网络就不能在主线程,在主线程就会爆炸.所以我们必须要在

Android异步加载全解析之使用多线程

异步加载之使用多线程 初次尝试 异步.异步,其实说白了就是多任务处理,也就是多线程执行,多线程那就会有各种问题,我们一步步来看,首先,我们创建一个class--ImageLoaderWithoutCaches,从命名上,大家也看出来,这个类,我们实现的是不带缓存的图像加载,不多说,我们再创建一个方法--showImageByThread,通过多线程来加载图像: /** * Using Thread * @param imageView * @param url */ public void sh

Android异步加载

Android异步加载 一.为什么要使用异步加载? 1.Android是单线程模型 2.耗时操作阻碍UI线程 二.异步加载最常用的两种方式 1.多线程.线程池 2.AsyncTask 三.实现ListView图文混排 3-1 实现读取网页中的json数据到ListView中 (图片首先为默认图片) 3.1.1:主布局只有一个ListView和一个listView_item的布局 3.1.2:网页json数据的链接(http://www.imooc.com/api/teacher?type=4&n