2014-02-24 62 views
0

我無法將數據從數據庫中檢索到微調框中。這是不能帶來微調的源代碼。我一直在製作方法並從數據庫中檢索它,但是數據庫中的數據也沒有顯示出來。請幫助..如何將sqlite值填充到微調框中

private void loadModuledate(){ 
    DBDataSource db = new DBDataSource(getApplicationContext()); 
    ArrayList<ProductModule> lables = db.getAllmodule(); 
    // Creating adapter for spinner 
    ArrayAdapter<ProductModule> dataAdapter = new ArrayAdapter<ProductModule>(this, 
      android.R.layout.simple_spinner_item, lables); 

    // Drop down layout style - list view with radio button 
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    // attaching data adapter to spinner 
    edModul.setAdapter(dataAdapter); 
} 

這裏是我的DBDatasource.java

public ArrayList<ProductModule> getAllmodule() { 
    ArrayList<ProductModule> daftarproductmodule = new ArrayList<ProductModule>(); 
    Cursor cursor = database.query(DBHelper.PRODUCT_MODULE, 
      allProductModule, null, null, null, null, null); 
    cursor.moveToFirst(); 
    while (!cursor.isAfterLast()) { 
     ProductModule ProductModule = cursorToProductModule(cursor); 
     daftarproductmodule.add(ProductModule); 
     cursor.moveToNext(); 
    } 
    cursor.close(); 
    return daftarproductmodule; 
} 

這是我的日誌貓

02-24 14:57:07.445: E/AndroidRuntime(16981): FATAL EXCEPTION: main 
02-24 14:57:07.445: E/AndroidRuntime(16981): java.lang.RuntimeException: Unable to start activity ComponentInfo{ims.app.mobileorder/ims.app.mobileorder.FormComplain}: java.lang.NullPointerException 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2062) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2087) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.app.ActivityThread.access$600(ActivityThread.java:133) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1198) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.os.Handler.dispatchMessage(Handler.java:99) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.os.Looper.loop(Looper.java:137) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.app.ActivityThread.main(ActivityThread.java:4803) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at java.lang.reflect.Method.invokeNative(Native Method) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at java.lang.reflect.Method.invoke(Method.java:511) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at dalvik.system.NativeStart.main(Native Method) 
02-24 14:57:07.445: E/AndroidRuntime(16981): Caused by: java.lang.NullPointerException 
02-24 14:57:07.445: E/AndroidRuntime(16981): at ims.app.mobileorder.DBDataSource.getAllmodule(DBDataSource.java:101) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at ims.app.mobileorder.FormComplain.loadModuledate(FormComplain.java:63) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at ims.app.mobileorder.FormComplain.onCreate(FormComplain.java:46) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.app.Activity.performCreate(Activity.java:5008) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
02-24 14:57:07.445: E/AndroidRuntime(16981): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2026) 
02-24 14:57:07.445: E/AndroidRuntime(16981): ... 11 more 
02-24 14:57:10.698: E/Trace(17357): error opening trace file: No such file or directory (2) 
+0

只要檢查你的sqlite數據庫對象是否爲null? – Rakhita

回答

1
public ArrayList<ProductModule> getAllmodule() { 

SQLiteDataBase sqLiteDatabase = dbHelper.openDataBase( );

 ArrayList<ProductModule> daftarproductmodule = new ArrayList<ProductModule>(); 
     Cursor cursor = database.query(DBHelper.PRODUCT_MODULE, 
       allProductModule, null, null, null, null, null); 
     cursor.moveToFirst(); 
     while (!cursor.isAfterLast()) { 
      ProductModule ProductModule = cursorToProductModule(cursor); 
      daftarproductmodule.add(ProductModule); 
      cursor.moveToNext(); 
     } 
     cursor.close(); 
     return daftarproductmodule; 
     } 

我希望你能解決您的錯誤。