2015-04-01 62 views
0

我面對SQLite這個奇怪的問題;我有這從動態生成的數據庫,複選框列表...當我第一次打開我的應用程序它不能正確加載我的線性佈局,實際上SQLite查詢不會返回任何字符串! 但是,當我改變片段(從我的第一個窗格到地圖窗格)並返回(到我的第一個窗格,我應該看到我的複選框列表),一切工作,因爲它應該工作和複選框列表出現!我logcat中沒有表現出任何異常或可疑情況......Android SQLite方法故障(?!?!)

這是我的方法:

 private int setCheckboxes(){ 
SQLiteDatabase database = DatabaseManager.getInstance().openDatabase(); 
     database.setLocale(Locale.getDefault()); 

      String queryRoutes="SELECT * FROM"+tableRoute; 
      Cursor dataRoutes = database.rawQuery(queryRoutes, null); 
      ArrayList<String> routesStrings = new returnMapStuff().getRoutesArray(dataRoutes); 
    DatabaseManager.getInstance().closeDatabase(); 
      routesStrings.size(); 
      try{ 
       CheckBox cb; 
       for (int i = 0; i < routesStrings.size(); i++) { 
        cb = new CheckBox(context); 
        cb.setText(routesStrings.get(i)); 
        cb.setId(i); 
        ll.addView(cb); 
       } 
      }catch (Exception e){e.printStackTrace();} 

      return routesStrings.size(); 
} 

,這是我怎麼稱呼它:

View view = inflater.inflate(R.layout.fragment_main, container, false); 
ll = (LinearLayout) view.findViewById(R.id.CheckboxLL); 
int howManyCheckboxes =setCheckboxes(); 


this is my logcat with a few log.i(): 
04-01 09:22:40.883 2412-2412/pack.androidmap I/POSA CHECKBOXES?﹕ 0 

//return value(setCheckboxes()) first then it runs (inside)returnMapstuff(): 


04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ paralia 
04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ petalo 
04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ partali 
04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ ateik 
04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ pagni 
04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ λύκαστος 
04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ smallville 
04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ αλί καρνέησον 
04-01 09:23:00.451 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ καμπαμαρούν 

// but when I press back (first returnMapstuff()): 

04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ paralia 
04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ petalo 
04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ partali 
04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ ateik 
04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ pagni 
04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ λύκαστος 
04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ smallville 
04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ αλί καρνέησον 
04-01 09:23:04.843 2412-2412/pack.androidmap I/POSA route mesa mapstuff?﹕ καμπαμαρούν 

//then return value of setCheckboxes() 
04-01 09:23:04.847 2412-2412/pack.androidmap I/POSA CHECKBOXES?﹕ 9 

這怎麼可能?

回答

2

actually the sqlite query doesn't return any string!

您在這裏

String queryRoutes="SELECT * FROM"+tableRoute; 

錯過的空間一定是

String queryRoutes="SELECT * FROM "+tableRoute; 
+0

沒有的空間是存在的! 複製/粘貼中發生了一些事情:| – lycastos 2015-04-01 09:26:37

+0

然後你的tableRoute是空的。或者你沒有傳遞正確的表名。 – 2015-04-01 09:29:07

+0

見上面(我編輯第一篇文章)......因爲它看起來並不是空的! – lycastos 2015-04-01 09:34:45