联赛规模 = 0,即使 ID 是正确的

我正在尝试更新 SQLite 数据库中的信息。我的 getter 读取的信息是正确的,但是每当我去更新记录中的信息时,即联赛名称、基础得分等。我被告知数组的大小为 0。

我可以在调试中看到我正在调用正确的记录 ID,并且从数据库中提取的信息是正确的。这向我确认记录确实是正确的。

我可以在调试中看到信息是正确的,并且变量正在存储对记录所做的更改。

http://img.mukewang.com/616be5530001469712240357.jpg

http://img4.mukewang.com/616be55a0001c62c08320358.jpg

看不出来我做错了什么。我在这个网站上浏览了几个不同的帖子,包括这个。什么导致 java.lang.ArrayIndexOutOfBoundsException 以及如何防止它?


我似乎找不到任何可以帮助我解决这个问题的东西。有人可以帮助我吗,我已经在下面发布了我的代码。


我在进入活动时获取记录的代码


public void getLeagueProfile(int position) {



        SQLiteOpenHelper database = new DatabaseHelper(this);

        SQLiteDatabase db = database.getReadableDatabase();


        Cursor viewLeagueProfile = db.query(League.TABLE_NAME, new String[]{League.COLUMN_ID, League.COLUMN_NAME, League.COLUMN_BASE_SCORE, League.COLUMN_BASE_SCORE_PERCENTAGE, League.COLUMN_WINS, League.COLUMN_LOSSES, League.COLUMN_TIMESTAMP}, League.COLUMN_ID + "=?", new String[]{String.valueOf(position)}, null, null, null, null);


        if (viewLeagueProfile.moveToFirst()) {


            //Prepare League Object

            league = new League(viewLeagueProfile.getInt(viewLeagueProfile.getColumnIndex(League.COLUMN_ID)), ln = viewLeagueProfile.getString(viewLeagueProfile.getColumnIndex(League.COLUMN_NAME)), bs = viewLeagueProfile.getString(viewLeagueProfile.getColumnIndex(League.COLUMN_BASE_SCORE)), bsp = viewLeagueProfile.getString(viewLeagueProfile.getColumnIndex(League.COLUMN_BASE_SCORE_PERCENTAGE)), lw = viewLeagueProfile.getString(viewLeagueProfile.getColumnIndex(League.COLUMN_WINS)), ll = viewLeagueProfile.getString(viewLeagueProfile.getColumnIndex(League.COLUMN_LOSSES)), viewLeagueProfile.getString(viewLeagueProfile.getColumnIndex(League.COLUMN_TIMESTAMP)));


            Log.e("values : ", ln + ", " + bs + ", " + bsp + ", " + lw + ", " + ll);

        }

    }


繁花如伊
浏览 117回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java