2010-08-02 70 views
0

我想從我的數據庫中顯示數據到微調。這怎麼可能? 由於我的logcat中有一個空錯誤。幫助顯示微調數據

Booking.java

public class Booking extends Activity 
{ 
    private DBAdapter db; 
    private Spinner colourSpinner; 
    private String txtArrival; 
    /** Called when the activity is first created. */ 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     db = new DBAdapter(this); 
     db.open(); 
     setContentView(R.layout.booking); 
     Cursor c = db.getSpinnerData(); 
     startManagingCursor(c); 
     String[] from = new String[]{txtArrival}; 
     int[] to = new int[]{android.R.id.text1}; 
     SimpleCursorAdapter adapter = 
     new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c, from, to); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     Spinner colourSpinner = (Spinner) findViewById(R.id.spinner); 
     colourSpinner.setAdapter(adapter); 
     } 
} 

DBAdapter.java

public Cursor getSpinnerData() throws SQLException 
     { 
      Cursor mCursor = 
        db.query(DATABASE_TABLE_2, new String[] { 
          KEY_ROWID2, 
          KEY_ARRIVAL,}, 
          null, 
          null, 
          null, 
          null, 
          null); 
      if (mCursor != null) { 
       mCursor.moveToFirst(); 
      } 
      return mCursor; 
     } 

logcat的

08-02 08:39:27.123: ERROR/AndroidRuntime(746): Uncaught handler: thread main exiting due to uncaught exception 
08-02 08:39:27.174: ERROR/AndroidRuntime(746): java.lang.RuntimeException: Unable to start activity ComponentInfo{one.two/one.two.Booking}: java.lang.NullPointerException 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.app.ActivityThread.access$1800(ActivityThread.java:112) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.os.Looper.loop(Looper.java:123) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.app.ActivityThread.main(ActivityThread.java:3948) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at java.lang.reflect.Method.invoke(Method.java:521) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at dalvik.system.NativeStart.main(Native Method) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746): Caused by: java.lang.NullPointerException 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.database.sqlite.SQLiteCursor.getColumnIndex(SQLiteCursor.java:311) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:312) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.widget.SimpleCursorAdapter.findColumns(SimpleCursorAdapter.java:336) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.widget.SimpleCursorAdapter.<init>(SimpleCursorAdapter.java:88) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at one.two.Booking.onCreate(Booking.java:27) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231) 
08-02 08:39:27.174: ERROR/AndroidRuntime(746):  ... 11 more 

謝謝。

+0

如果你也可以發佈你的logcat輸出,這將非常有幫助。請將其編輯爲您的原始問題。 – Janusz 2010-08-02 08:24:12

+0

好的,我會將它添加到 – User358218 2010-08-02 08:38:46

回答

2

您正在收到NullPointerException,因爲您正在提供nullSimpleCursorAdapter

String[] from = new String[]{txtArrival}; 

需要是這樣的:

String[] from = new String[]{KEY_ARRIVAL}; 

from參數的目的是指示應被映射到由to參數標識的TextView部件哪些列你的Cursor的。

+0

感謝您的幫助 – User358218 2010-08-02 12:38:42

+0

微調器中還沒有顯示任何數據? – User358218 2010-08-03 01:04:27