2014-11-16 40 views
0

当我在我的手机上运行我目前的Android项目,而该代码段会试图执行:无法在Android项目从游标检索数据

Intent intent = getIntent(); 
String itemA = intent.getStringExtra("itemA"); 
String itemB = intent.getStringExtra("itemB"); 

Cursor u = usuario.findByFields(new String[] {"nome", "sobrenome"}, new String[] {itemA, itemB}); 
startManagingCursor(u); 

if(u.getCount() > 0) { 
    if(u.getColumnCount() > 0) { 
    u.moveToFirst(); 
    fillForm(u.getString(1), u.getString(2), u.getString(3), u.getString(4), u.getString(5), u.getString(6)); 
    } 
} 

我收到此错误:

E/AndroidRuntime(12620): FATAL EXCEPTION: main 
E/AndroidRuntime(12620): Process: org.hello, PID: 12620 
E/AndroidRuntime(12620): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.hello/org.hello.FormEditItemActivity}: java.lang.IllegalStateException: Couldn't read row 0, col 6 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it. 
E/AndroidRuntime(12620):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198) 
E/AndroidRuntime(12620):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257) 
E/AndroidRuntime(12620):  at android.app.ActivityThread.access$800(ActivityThread.java:139) 
E/AndroidRuntime(12620):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) 
E/AndroidRuntime(12620):  at android.os.Handler.dispatchMessage(Handler.java:102) 
E/AndroidRuntime(12620):  at android.os.Looper.loop(Looper.java:136) 
E/AndroidRuntime(12620):  at android.app.ActivityThread.main(ActivityThread.java:5086) 
E/AndroidRuntime(12620):  at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(12620):  at java.lang.reflect.Method.invoke(Method.java:515) 
E/AndroidRuntime(12620):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
E/AndroidRuntime(12620):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
E/AndroidRuntime(12620):  at dalvik.system.NativeStart.main(Native Method) 
E/AndroidRuntime(12620): Caused by: java.lang.IllegalStateException: Couldn't read row 0, col 6 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it. 
E/AndroidRuntime(12620):  at android.database.CursorWindow.nativeGetString(Native Method) 
E/AndroidRuntime(12620):  at android.database.CursorWindow.getString(CursorWindow.java:434) 
E/AndroidRuntime(12620):  at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51) 
E/AndroidRuntime(12620):  at org.hello.FormEditItemActivity.onCreate(FormEditItemActivity.java:52) 
E/AndroidRuntime(12620):  at android.app.Activity.performCreate(Activity.java:5248) 
E/AndroidRuntime(12620):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110) 
E/AndroidRuntime(12620):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162) 
E/AndroidRuntime(12620):  ... 11 more 
W/ActivityManager( 916): Force finishing activity org.hello/.FormEditItemActivity 
W/ActivityManager( 916): Force finishing activity org.hello/.HelloActivity 

任何人都可以看到有什么问题?因为我无法弄清楚我在这里错过了什么。

回答

0

游标的索引是基于零的。所以你应该使用u.getString(0).... u.getString(5)