Android 3.0 无法从光标窗口读取行#、列#

标签 android window android-cursor android-3.0-honeycomb

我有一个在 android 2.1 上运行良好的应用程序,但是当尝试将其转换到 3.0 时,我得到一个我不熟悉的光标错误。

Java.lang.IllegalStateException: Couldn't read row0, column -1 from cursor window. Make sure cursor is initialized correctly before accessing data from it.



所有数据都存储在 SQLite 数据库中,并且此代码在 android 2.1 中运行良好。在 android 3.0 中是否必须以不同方式初始化光标?

下面列出的是我的代码。
private void OpenGroupData(){
SQLiteDatabase db = openOrCreateDatabase(DATABASE_NAME,Context.MODE_PRIVATE,null);
Cursor cur = db.rawQuery("SELECT groupid FROM properties GROUP BY GroupID" + ";" , null);
LinearLayout glayout = (LinearLayout) findViewById(R.id.Grouplayout);
LinearLayout gwindow = (LinearLayout) findViewById(R.id.groupwindow);

TextView data = new TextView(this);
glayout.addView(data);
data.setText("");
int ID = cur.getColumnIndex("groupid");
int idvalue;

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);

try{
    // Check if our result was valid.
    cur.moveToFirst();
    if (cur != null) {

        // Loop through all Results
        do {data = new TextView(this);
            data.setTextSize(20);
        data.setClickable(true);
        data.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
              GroupClick(v);
            }
          });
        glayout.addView(data);
        idvalue = cur.getInt(ID);
        data.setId(idvalue);
        data.setText("Group: " + idvalue);
        }while(cur.moveToNext());
        } 
        cur.close();
        db.close();
        }   catch(Exception e) {
            Toast.makeText(getApplicationContext(), "Open Group Exception: " + e.toString(), Toast.LENGTH_SHORT).show();
        }
 }

最佳答案

今天早些时候我遇到了同样的错误信息。结果是我在列名中打错了字。所以,如果它仍然适用,你可以去检查列名是否有错别字。请注意,它也区分大小写。对我来说,错误大致如下:

//Trew error
c.getColumnIndex("ArticleNumber");

//Was correct
c.getColumnIndex("Articlenumber");

关于Android 3.0 无法从光标窗口读取行#、列#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6781954/

相关文章:

java - 如何在系统重新启动后停止正在运行的下载

android - Espresso 模糊 View 匹配异常 : How can I select a first horizontal Recyclerview from multiple horizontal Recyclerview

java - 不淡入/淡出的 AlphaAnimation

java - 致命异常主要 - 应用程序在启动时崩溃

matlab - 对重叠时间测量应用滚动窗口

cocoa 打开窗口两次

java - Android,设置新的根 Activity

javascript - js在弹出窗口和主窗口之间进行通信

android - 如何在android中显示保存在sdcard文件夹中的图像

android - ListView 在滚动开始时加载更多