androidsqlist中游标下标越界问题解决方案

在使用android的sqlist时,出现了以下错误

创新互联建站,专注为中小企业提供官网建设、营销型网站制作、响应式网站、展示型网站设计制作、做网站等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。

android.database.CursorIndexOutOfBoundsException: Index 14 requested, with a size of 14

经过排除,确定了错误位置

错误代码为

public ArrayList<receiveContext> query(String table_name,String[] arg)
	{
		SQLiteDatabase db=getWritableDatabase();
		Cursor c = db.query(table_name,null,poster+"=?",arg,null,null,updateTime,null);//查询并获得游标
		ArrayList<receiveContext> l=new ArrayList<receiveContext>();
		if(c.moveToFirst())
		{//判断游标是否为空
			
		    for(int i=0;i<c.getCount();i++){
		        c.moveToPosition(i);//正确语句
		        //c.move(i);  //错误语句
		        
		        String getContext="";
		        int getStyle = 0;
		        String getTime="";
		        
		        getContext= c.getString(c.getColumnIndex(context));
		        getStyle =c.getInt(c.getColumnIndex(style));
		        getTime = c.getString(c.getColumnIndex(updateTime));
		        receiveContext rc=new receiveContext(getContext,getStyle,getTime);
		        l.add(rc);
		    }
		}
		c.close();
		db.close();
		return l;
	}

这是我写的一个数据库查询的方法,越界原因是使用了方法c.move(i);这个方法我估计(有待考证)应该是当前指针+i,所以会导致越界。正确的方法应该是

c.moveToPosition(i);

这是跳到第i个位置。

本文标题:androidsqlist中游标下标越界问题解决方案
本文地址:https://www.cdcxhl.com/article44/jssjee.html

成都网站建设公司_创新互联,为您提供网站排名营销型网站建设响应式网站网站建设企业建站移动网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营