java - android SQLite 方法故障(?!?!)

标签 java android android-sqlite

我在使用 SQLite 时遇到了这个奇怪的问题;我从数据库、复选框列表动态生成了这个...当我第一次打开我的应用程序时,它无法在我的线性布局中正确加载,实际上 sqlite 查询不返回任何字符串! 但是,当我更改 fragment (从我的第一个 Pane 到 map Pane )并返回(到我的第一个 Pane ,我应该在其中看到我的复选框列表)时,一切都按预期工作,并且复选框列表出现!我的 logcat 没有显示任何异常或任何可疑的内容...

这是我的方法:

        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

这怎么可能?

最佳答案

实际上sqlite查询不返回任何字符串!

这里少了一个空格

String queryRoutes="SELECT * FROM"+tableRoute;

一定是

String queryRoutes="SELECT * FROM "+tableRoute;

关于java - android SQLite 方法故障(?!?!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386410/

相关文章:

java - Android 和 Robotium - 编写自动化测试?

具有自定义逻辑的 Java 8 Stream groupingBy

java - 关闭当前浏览器窗口并尝试使用相同的 selenium webdriver 打开另一个浏览器窗口,出现异常

java - 如何在 Android ListView 中显示 Firebase 项目?

android - 错误状态 : field does not exist within the DocumentSnapshotPlatform . 它表明 getter 是在 null 上调用的

Android 文件系统和可用空间困惑

android - 想要在整数列表中返回 0 IF SUM(something) 为 null

java - udp 客户端无法从另一个应用程序访问

android - 如何删除 SQLite、Android 中表中的所有项目?

本地 SQLite 数据库的 Android 内容提供程序 : why?