溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android sqlist中游標下標越界問題解決方案

發布時間:2020-08-10 21:36:02 來源:網絡 閱讀:803 作者:King靈 欄目:移動開發

在使用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個位置。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女