2010-08-02 7 views
0

내 데이터베이스의 데이터를 회 전자에 표시하고 싶습니다. 어떻게 가능할까요? 내 logcat에 null 오류가 있습니다.회 전자에 데이터 표시에 대한 도움

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; 
     } 

로그 캣

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

+0

확인해 보겠습니다. – User358218

답변

2

nullSimpleCursorAdapter을 입력했기 때문에 NullPointerException이 표시됩니다. 할 필요가

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

는 같은 :

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

from 매개 변수의 목적은 to 매개 변수에 의해 식별되는 TextView 위젯에 매핑해야합니다 귀하의 Cursor 중 어떤 열을 표시하는 것입니다.

+0

에 감사드립니다. – User358218

+0

회 전자에 데이터가 표시되지 않았습니까? – User358218

관련 문제