IllegalStateException:无法从cursorWindow读取第0行,第-1列

2024-04-30

IllegalStateException:无法从cursorWindow读取第0行,第-1列。我是 Android 新手,我查看了 smiller 问题确实解决了我的问题,请帮忙提前致谢。

这是我的代码:

// function to add data in to db
    public void CreatExpenses(View view)
    {
                   mCategory = (Spinner  )findViewById(R.id.spCategory);
          EditText edittext2 = (EditText )findViewById(R.id.AmountEditText);
          EditText edittext3 = (EditText )findViewById(R.id.PayTypeEditText);
          EditText edittext4 = (EditText )findViewById(R.id.DateEditText);

          category    =mCategory.getSelectedItem().toString();
          Amount      =edittext2.getText().toString();
          PaymentType =edittext3.getText().toString();
          Date        =edittext4.getText().toString();

          db.execSQL("INSERT INTO  Expenses VALUES('"+category+"','"+Amount+"','"+PaymentType+"','"+Date+"');");

          Toast.makeText(getBaseContext(),

               "Your info is saved successfully!",
                  Toast.LENGTH_SHORT).show();
    }

    public void ShowExpens(View view)
    {
        Cursor c=db.rawQuery("SELECT * from Expenses", null);
         int count= c.getCount();
        c.moveToFirst();
        TableLayout tableLayout = new TableLayout(getApplicationContext());
        tableLayout.setVerticalScrollBarEnabled(true);
       TableRow tableRow;
       TextView textView,textView1,textView2,textView3,textView4,textView5,textView6;
       tableRow = new TableRow(getApplicationContext());
       textView=new TextView(getApplicationContext());
       textView.setText("Expense_Category");
       textView.setTextColor(Color.RED);
        textView.setTypeface(null, Typeface.BOLD);
         textView.setPadding(20, 20, 20, 20);
        tableRow.addView(textView);

        textView4=new TextView(getApplicationContext());
        textView4.setText("Amount");
        textView4.setTextColor(Color.GREEN);
        textView4.setTypeface(null, Typeface.BOLD);
         textView4.setPadding(20, 20, 20, 20);
        tableRow.addView(textView4);

        textView5=new TextView(getApplicationContext());
        textView5.setText("PaymentType");
        textView5.setTextColor(Color.RED);
        textView5.setTypeface(null, Typeface.BOLD);
        textView5.setPadding(20, 20, 20, 20);
        tableRow.addView(textView5);

        textView6 = new TextView(getApplicationContext());
        textView6.setText("Date");
        textView6.setTextColor(Color.RED);
        textView6.setTypeface(null, Typeface.BOLD);
        textView6.setPadding(20, 20, 20, 20);
        tableRow.addView(textView6);

       tableLayout.addView(tableRow);

         for (Integer j = 0; j < count; j++)
         {
             tableRow = new TableRow(getApplicationContext());
             textView1 = new TextView(getApplicationContext());
             textView1.setText(c.getString(c.getColumnIndex("Expense_Category ")));
             textView2 = new TextView(getApplicationContext());
             textView2.setText(c.getString(c.getColumnIndex("Amount")));
             textView3 = new TextView(getApplicationContext());
             textView3.setText(c.getString(c.getColumnIndex("PaymentType")));
             textView4 = new TextView(getApplicationContext());
             textView4.setText(c.getString(c.getColumnIndex("Date")));

             textView1.setPadding(20, 20, 20, 20);
             textView2.setPadding(20, 20, 20, 20);
             textView3.setPadding(20, 20, 20, 20);
             textView4.setPadding(20, 20, 20, 20);

             tableRow.addView(textView1);
             tableRow.addView(textView2);
             tableRow.addView(textView3);
             tableRow.addView(textView4);

             tableLayout.addView(tableRow);
             c.moveToNext() ;
         }
         setContentView(tableLayout);
    db.close();
    }
    public void close(View view)
    {
        System.exit(0);
    }
}

这是 LogCat

11-12 09:50:01.978: E/CursorWindow(871): Failed to read row 0, column -1 from a CursorWindow which has 1 rows, 4 columns.
11-12 09:50:01.988: D/AndroidRuntime(871): Shutting down VM
11-12 09:50:01.988: W/dalvikvm(871): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-12 09:50:02.148: E/AndroidRuntime(871): FATAL EXCEPTION: main
11-12 09:50:02.148: E/AndroidRuntime(871): java.lang.IllegalStateException: Could not execute method of the activity
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.view.View$1.onClick(View.java:3633)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.view.View.performClick(View.java:4240)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.view.View$PerformClick.run(View.java:17721)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.os.Handler.handleCallback(Handler.java:730)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.os.Handler.dispatchMessage(Handler.java:92)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.os.Looper.loop(Looper.java:137)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.app.ActivityThread.main(ActivityThread.java:5103)
11-12 09:50:02.148: E/AndroidRuntime(871):  at java.lang.reflect.Method.invokeNative(Native Method)
11-12 09:50:02.148: E/AndroidRuntime(871):  at java.lang.reflect.Method.invoke(Method.java:525)
11-12 09:50:02.148: E/AndroidRuntime(871):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-12 09:50:02.148: E/AndroidRuntime(871):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-12 09:50:02.148: E/AndroidRuntime(871):  at dalvik.system.NativeStart.main(Native Method)
11-12 09:50:02.148: E/AndroidRuntime(871): Caused by: java.lang.reflect.InvocationTargetException
11-12 09:50:02.148: E/AndroidRuntime(871):  at java.lang.reflect.Method.invokeNative(Native Method)
11-12 09:50:02.148: E/AndroidRuntime(871):  at java.lang.reflect.Method.invoke(Method.java:525)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.view.View$1.onClick(View.java:3628)
11-12 09:50:02.148: E/AndroidRuntime(871):  ... 11 more
11-12 09:50:02.148: E/AndroidRuntime(871): Caused by: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.database.CursorWindow.nativeGetString(Native Method)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.database.CursorWindow.getString(CursorWindow.java:434)
11-12 09:50:02.148: E/AndroidRuntime(871):  at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
11-12 09:50:02.148: E/AndroidRuntime(871):  at com.info.househouldexpcalulator.MainActivity.ShowExpens(MainActivity.java:113)
11-12 09:50:02.148: E/AndroidRuntime(871):  ... 14 more
11-12 09:50:02.308: D/dalvikvm(871): GC_FOR_ALLOC freed 178K, 8% free 2841K/3076K, paused 54ms, total 89ms

您提供的列名不存在。

getColumnIndex(String columnName)

返回给定列名的从零开始的索引,如果该列不存在,则返回 -1。
错误存在于代码的以下任何部分中:

c.getString(c.getColumnIndex("Expense_Category ")); //notice the space after Expense_Category
c.getString(c.getColumnIndex("Amount"));
c.getString(c.getColumnIndex("PaymentType"));
c.getString(c.getColumnIndex("Date"));

如果您希望该列存在 使用 getColumnIndexOrThrow(String) 代替,这将使错误更加清晰。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IllegalStateException:无法从cursorWindow读取第0行,第-1列 的相关文章

  • 添加动态数据时 footable 出现问题

    我需要 jQuery Mobile 方面的一些帮助富表 http css tricks com footable a jquery plugin for responsive data tables 我正在表中动态添加数据 HTML tab
  • 在代码中旋转按钮(或其中的文本)

    我必须通过编码随机旋转按钮 或里面的文本 它是相同的 API级别低于11是否有button setRotate x 好吧 看了一下 答案是 很复杂 您可以使用旧的动画框架旋转按钮 例如像这样 Button button Button fin
  • Android Facebook sdk 3.5 分享对话框

    您好 我正在为 android sdk 3 5 实现 facebook 共享对话框 但是我按照指南没有取得任何成功 FacebookDialog shareDialog new FacebookDialog ShareDialogBuild
  • Android 5.0 Lollipop 中屏幕固定关闭时如何收到通知?

    我有一个在后台运行的应用程序 并在手机上发生特定事件时启动活动 我发现在 Android 5 0 中 当用户使用另一个应用程序打开屏幕固定时 startActivity intent 调用将被完全忽略 我的应用程序不知道该活动尚未启动 因此
  • Android 中有没有办法获取 SD 卡大小?

    欢迎大家 我已经在 Stackoverflow 和 google 上尝试过与此相关的每个问题 但没有一个有效 我已经尝试过类似下一个链接的操作 但它返回的内容与内部存储相同 如何获取外部存储 SD 卡的大小 带安装的 SD 卡 https
  • 我的 Android 设备需要安装哪个驱动程序才能运行我的应用程序?

    我购买了 intex mobile 来在真实设备中测试我的 Android 应用程序 然而 该设备不存在于 OEM USB 驱动程序列表中 android 提供的设备列表中 我检查了 intex 官方网站 但不确定到底需要安装哪个驱动程序
  • Android 8.1 中 Activity 自行旋转并恢复正常

    我的应用程序在所有 Android 版本上运行良好 但我注意到在 Android 8 1 0 Oreo 中 当我将屏幕从纵向活动转到横向活动时 以及当我按后退按钮时 它会显示异常行为 屏幕自动从横向旋转并恢复正常 看起来 Activity
  • Android 谷歌地图 V2 已停止

    我正在尝试构建地图应用程序并关注这个链接 https blog emildesign rhcloud com p 435一步步 我在这里找到了类似的主题 但对我没有帮助 我想显示地图 但是当我运行它时 它返回强制关闭和我的 Android
  • 在后台服务中持续获取位置更新

    我正在开发需要在后台服务中持续获取位置更新的应用程序 我已经使用了它正在使用的后台粘性服务 但是 即使我添加了启动广播并在那里启动了服务 启动完成后服务也没有启动 服务启动并立即被杀死 另外 这不适用于奥利奥 服务在应用程序关闭几分钟后停止
  • Android:BATTERY_STATUS_DISCHARGING 和 BATTERY_STATUS_NOT_CHARGING 之间的区别

    我想知道这两个标志之间的区别 BatteryManager BATTERY STATUS DISCHARGING And BatteryManager BATTERY STATUS NOT CHARGING 我开发了一个使用这两个标志的应用
  • Android - 多次实例化一个片段?

    我正在创建一个在 ListView 中显示数据的应用程序 数据分为两种类型 热门 收藏夹 我有一个活动和两个片段 片段根据类别显示项目列表 我为此使用了 ListView 然后我有两个fragment layouts 它们在设计上完全相同
  • Android httpclient文件上传数据损坏和超时问题

    我在 Android 中上传图像时遇到问题 我正在使用 apache httpmime 4 1 lib 代码是这样的 MultipartEntity reqEntity new MultipartEntity HttpMultipartMo
  • Android Drawable 绘图性能?

    在我看来 我有一个简单的 ARGB 可绘制对象 大约需要 2 毫秒才能绘制 但我可以在 0 5 毫秒内绘制与位图相同的文件 只是一些快速代码 我真的不能认为它是一个选项 优化可绘制对象的绘制速度的最佳方法是什么 这取决于可绘制的数量以及每个
  • 在 android 版本 7.0 上膨胀类 android.widget.DatePicker 时出错

    我想显示弹出日期选择器并且我使用此代码 Calendar mcurrentDate Calendar getInstance int mYear mcurrentDate get Calendar YEAR int mMonth mcurr
  • 如何更改 Android 12 启动屏幕中的图标形状?

    我想要矩形形状的启动屏幕图标 而不是 android 12 中的圆形形状 我不相信你可以 如果你看这里的第 3 点 https developer android com about versions 12 features splash
  • BitmapFactory.decodeResource() 忽略 jpg 图像的 inPreferredConfig 选项

    我尝试将jpeg资源图像加载到ARGB 8888格式的位图 BitmapFactory Options opts new BitmapFactory Options opts inPreferredConfig Bitmap Config
  • 将 Crashlytics 集成到图书馆项目

    我有一个图书馆项目 自定义视图库项目 它没有任何活动 服务 我想将 Crashlytics SDK 集成到我的库中 当我尝试通过 Android Studio 的 Crashlytics 插件 工具栏中的图标 添加它时 它只是停留在 Che
  • 应用程序中空指针异常[重复]

    这个问题在这里已经有答案了 我正在尝试在我的应用程序中实施应用程序内计费 我写了这段代码 public class Settings extends PreferenceFragment ServiceConnection mService
  • Android Jasper 报告

    Jasper Reporting 可以集成到 Android 应用程序中吗 我正在尝试从 jrxml 文件生成 PDF CSV 文本和 XLS 报告 但是 我没有看到 Android SDK 支持 net sf jasperreports
  • 如何检查设备上是否安装了文本转语音 (TTS) 的特定语言数据?

    我正在创建一个使用文本转语音的应用程序 我希望用户能够离线使用它 因此我检查设备上是否安装了 TTS 数据 以下是执行此操作的代码 Check tts data is installed Intent checkTTSIntent new

随机推荐

  • 如何在 CSS 中正确定位和缩放这些元素?

    我已经能够使用 html 和 css 正确定位和缩放网页中的一些元素 但是由于定位规则 我陷入了如何使用另外两个元素继续此操作的困境 图片中的 V 形图标必须位于标题为 向下滚动 的最后一段下方 我也希望它能够随屏幕尺寸缩放 正如我已经成功
  • 如何编辑和更新pdf文件?

    我正在使用 ASP NET 开发一个 Web 应用程序 其中一项要求要求我打开包含表单字段的给定 pdf 文件 填写字段 例如选中复选框 从选择输入中选择值以及在文本框中输入文本等 设置字段后 我需要将其提交到服务器并将其另存为新的 pdf
  • PHP 浮点错误与基本数学[重复]

    这个问题在这里已经有答案了 可能的重复 为什么十进制数不能用二进制精确表示 https stackoverflow com questions 1089018 why cant decimal numbers be represented
  • 如何将 MVC 5 IdentityModels.cs 移动到单独的程序集中

    我想知道是否有人遇到了我在尝试搬家时遇到的问题ApplicationUser进入模型项目 所有其他模型都驻留在其中 包括与用户表相关的模型 我的测试 MVC 5 解决方案由一个 Web 项目和两个类库组成 一个用于数据访问层 DAL 另一个
  • C# 和 SQL Server 中嵌套 using 的用法

    这个线程是一个延续是否有理由在 C 中使用子句检查多个内部的 null https stackoverflow com questions 2220422 is there a reason to check for null inside
  • 支持 Edge 浏览器中的滚动条样式

    看起来您可以通过 IE 11 使用 IE 特定的滚动条样式 例如 scrollbar face color scrollbar track color 等 但不能在 Edge 中使用 Edge 有替代方案吗 具体很难知道 没有官方文档 ht
  • 在 Next.js 13 中使用标记为“use client”的提供程序包装整个应用程序

    我正在 Next js 中开发一个小型应用程序 但我还没有完全理解客户端与服务器端渲染的情况 我一直在工作这个伟大的指南 https www misha wtf blog supabase auth next 13 pkce关于使用 Sup
  • 如何将目录路径转换为唯一的数字标识符 (Linux/C++)?

    我正在研究获取目录 文件夹 并派生某种形式的唯一数字标识符的方法 我研究了 字符串到哈希 方法 但是 鸽子洞原理 http www codinghorror com blog 2007 12 hashtables pigeonholes a
  • 切换 git 分支时如何处理 vim 缓冲区?

    因此 我在 vim 缓冲区中打开了大量文件 并且正在使用 git 处理功能分支 突然 我意识到我需要恢复到主分支来进行快速修复 提交后 我将 vim 会话保持打开状态并切换回 master 分支 但是 当我尝试从缓冲区加载我需要的文件时 我
  • 没有要加载的文件——readline(加载错误)

    当我想执行 Rails 3 控制台时 它会抛出以下错误 script rails c usr local rvm rubies ruby 1 9 2 p318 lib ruby 1 9 1 irb completion rb 9 in re
  • 将 css 应用到区域地图

    我创建了一个非常大的地图 其中包含许多多边形区域 每个多边形区域超过 20 个坐标 用于地图内的区域 但是 您无法将 css 添加到 AREA 标记 因为我被告知它不是可见元素 我想要做的是 当用户将鼠标悬停在地图上的某个区域上时 我希望通
  • Java线程池大小(执行器)

    我有一个有 3 个线程的应用程序 我将其切换为由 ScheduledExecutorService 管理 创建此实例时 您必须指定线程池大小 但这是什么 这是否意味着如果我计划运行 3 个任务 我应该为每个任务创建一个大小为 3 的线程池
  • 控制器中的模拟服务器

    我的控制器中有以下行 string lTempPath Path Combine Server MapPath Temp lRandomFileName 问题是服务器不是虚拟的 只能通过 getter 进行访问 I get a 该方法或操作
  • 枚举类型的命名空间 - 最佳实践

    通常 需要同时使用多种枚举类型 有时 人们会发生名字冲突 我想到了两种解决方案 使用命名空间 或使用 更大的 枚举元素名称 尽管如此 命名空间解决方案有两种可能的实现 带有嵌套枚举的虚拟类 或完整的命名空间 我正在寻找所有三种方法的优缺点
  • Haskell 有反向模式自动微分的工作实现吗?

    我见过的 Haskell 中最相关的实现是前向模式http hackage haskell org packages archive fad 1 0 doc html Numeric FAD html http hackage haskel
  • Django 组和权限。扩展组以拥有 FK?

    我正在开发一种产品 允许不同的学校在线管理他们的内容 其中一部分涉及设置我自己编写的基于角色的访问控制逻辑 本质上 每所学校都有自己的一组角色 这些角色拥有自己的一组权限 该软件的用户在任何给定时间都可能属于多个具有不同角色的学校 由于各种
  • 我应该在哪里放置 axis2.xml 以便由带有肥皂客户端的 jar 读取?

    我在 jar 文件中有一个 java 控制台应用程序 它通过调用肥皂服务axis2 http axis apache org axis2 java core 我在用这个博客 http www nandana org 2008 08 want
  • 如何从 C# (ASP.NET) 中的函数返回多个值?

    我有一个页面 其中包含一些产品和用户输入数字的文本字段 我首先使用 JavaScript 来计算总成本 根据他们输入的用户数量 他们会获得不同的费率 如下面的代码所示 当用户在文本字段中键入或粘贴数字时 将调用CalculateCost 函
  • 为什么 NHibernate 在选择时删除然后插入复合元素?

    有人可以向我解释一下关于 NHibernate 如何处理复合元素的这个小谜团吗 我的课程看起来像这样 public class Blog public virtual int Id get private set public virtua
  • IllegalStateException:无法从cursorWindow读取第0行,第-1列

    IllegalStateException 无法从cursorWindow读取第0行 第 1列 我是 Android 新手 我查看了 smiller 问题确实解决了我的问题 请帮忙提前致谢 这是我的代码 function to add da