2011-08-24 66 views
1

我正在開發一個Android應用程序,我在其中填充SQLite數據庫的旋轉器。 它有一個簡單的形式,其數據保存到數據庫表中。我保留了一個選項讓用戶自己提交表單。計數不移動光標到位置1在Android

因此,要獲取保存表單的ID,我將光標移動到最後一個位置。當我嘗試加載保存的表單時,我收到此錯誤。

08-24 08:32:47.780: ERROR/AndroidRuntime(3988): FATAL EXCEPTION: main 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988): java.lang.IllegalStateException: couldn't move cursor to position 1 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.CursorAdapter.getView(CursorAdapter.java:178) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.Spinner.makeAndAddView(Spinner.java:192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.Spinner.layout(Spinner.java:151) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.Spinner.onLayout(Spinner.java:115) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.View.layout(View.java:7192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1243) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1049) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.View.layout(View.java:7192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1047) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.View.layout(View.java:7192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.ScrollView.onLayout(ScrollView.java:1304) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.View.layout(View.java:7192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1047) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.View.layout(View.java:7192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.View.layout(View.java:7192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1047) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.View.layout(View.java:7192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.View.layout(View.java:7192) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.ViewRoot.performTraversals(ViewRoot.java:1141) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1860) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.os.Looper.loop(Looper.java:123) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at android.app.ActivityThread.main(ActivityThread.java:3835) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
08-24 08:32:47.780: ERROR/AndroidRuntime(3988):  at dalvik.system.NativeStart.main(Native Method) 

它沒有指向我的文件中的任何特定錯誤。 我刪除移動到最後的位置,它正在工作。所以我一拿到光標的數據,我就立刻把它移回第一個位置。的形式仍然沒有工作

第一種形式下的所有形式正在休息不工作:(

煩請幫我出

此致 ChinniKrishna Kothapalli。

回答

1

你可以試試這個:

if (cursor != null) 
{ 
    try { 
     while (cursor.moveToNext()) 
     { 
     i = 0; 
      // System.out.println(" =======> From DBConnect, Header => "+cursor.getString(1)); 
     } 
    } catch (Exception e) { 
     Log.d("DB_SELECT_BUSINESS_EXCEPTION", "" + e.getMessage()); 
    } finally { 
     cursor.close(); 
    } 
} 
0

試使用

if(cursor.moveToLast()){ 
         } 
+0

仍然強制關閉:-(。你認爲這個錯誤在哪裏? – 8A52

+1

發佈相關代碼 – Rasel