public class Schedule extends Activity{
 
 private DbAdapter mDbHelper;
 Cursor mCursor;
 
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.schedule);
        
        mDbHelper = new DbAdapter(this);
        mDbHelper.open();
        mDbHelper.insertRow("today", 1897);
        long rowid = mDbHelper.insertRow("today", 45675);
        
        Toast.makeText(getApplicationContext(), "ok" , Toast.LENGTH_LONG ).show(); //확인용
  
        /*
        mCursor = mDbHelper.fetchAllRows();
        startManagingCursor(mCursor);
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(
         this, 
         R.layout.schedule,
        mCursor,
        new String[] { "Day","Cal"},
        new int[] { R.id.text1, R.id.text2 }  );
        setListAdapter(adapter);

        if (mDbHelper != null) mDbHelper.close(); 
        */
}

 

위의 코드와 같이 Activity를 상속받아서 fetchallrows부분을 주석처리해주면 app구동에 문제가 없습니다.

하지만 db의 내용을 listadapter에 받아와서 list로 뿌려줄려고 하는데

여기서 listactivity를 상속받아서 저 주석문을 풀고 실행을 하면 어플이 죽어버립니다.

ui 구성은 탭호스트를 이용하였고 그 탭을 클릭시에 schedule class가 실행됩니다.

 

 

06-09 05:36:03.575: W/dalvikvm(3477): threadid=1: thread exiting with uncaught exception (group=0x40015560)
06-09 05:36:03.585: E/AndroidRuntime(3477): FATAL EXCEPTION: main
06-09 05:36:03.585: E/AndroidRuntime(3477): java.lang.RuntimeException: Unable to start activity ComponentInfo{kr.ac.kmu.android.stepcounter/kr.ac.kmu.android.stepcounter.Schedule}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.ActivityThread.startActivityNow(ActivityThread.java:1487)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:654)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.widget.TabHost.setCurrentTab(TabHost.java:326)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:132)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:456)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.view.View.performClick(View.java:2485)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.view.View$PerformClick.run(View.java:9080)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.os.Handler.handleCallback(Handler.java:587)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.os.Handler.dispatchMessage(Handler.java:92)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.os.Looper.loop(Looper.java:123)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.ActivityThread.main(ActivityThread.java:3683)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at java.lang.reflect.Method.invokeNative(Native Method)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at java.lang.reflect.Method.invoke(Method.java:507)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at dalvik.system.NativeStart.main(Native Method)
06-09 05:36:03.585: E/AndroidRuntime(3477): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.ListActivity.onContentChanged(ListActivity.java:243)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:210)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.Activity.setContentView(Activity.java:1657)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at kr.ac.kmu.android.stepcounter.Schedule.onCreate(Schedule.java:22)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-09 05:36:03.585: E/AndroidRuntime(3477):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
06-09 05:36:03.585: E/AndroidRuntime(3477):  ... 18 more
06-09 05:36:05.455: I/Process(3477): Sending signal. PID: 3477 SIG: 9