Android游标使用字符串获取列索引

Android游标使用字符串获取列索引,android,cursor,Android,Cursor,当我执行cursor.getColumnIndex(Database.\u F\u A3)时,这会按预期工作 但如果我这样做 String dbColumn = "Database._F_A3"; cursor.getColumnIndex(dbColumn ); 它给出了错误 我认为这是因为getColumnIndex()将括号内的内容作为字符串进行管理,以便在列中搜索 有什么办法可以满足我的要求吗 法沃拉斯 String dbColumn = "Database._F_A3"; curso

当我执行
cursor.getColumnIndex(Database.\u F\u A3)
时,这会按预期工作

但如果我这样做

String dbColumn = "Database._F_A3";
cursor.getColumnIndex(dbColumn );
它给出了错误

我认为这是因为
getColumnIndex()
将括号内的内容作为字符串进行管理,以便在列中搜索

有什么办法可以满足我的要求吗

法沃拉斯

String dbColumn = "Database._F_A3";
cursor.getColumnIndex(dbColumn );
上面的调用是完全错误的,因为它更改了您在数据库类中声明为静态的名称

假设您在数据库类中声明为

public static String _F_A3 = "something";
现在如果你打电话

String dbColumn = "Database._F_A3";
cursor.getColumnIndex(dbColumn );  // it means you are using Database._F_A3 
                 // as column name which doesn't exist instead of "something"
所以,最好尝试使用

String dbColumn = Database._F_A3;  // without quotes
cursor.getColumnIndex(dbColumn );

数据库中的数据库是什么?_F_A3?数据库是我的SQLite数据库,_F_A3是Hanks Lalit的专栏之一。这样做的目的是我有很多列的前缀是_F_A?是第一个?某物有时我想使用
数据库。_F_A3
和其他,例如
数据库。_F_A2356
。这样,我将使用
数据库执行字符串concat。\u F\u a
加上带有列名称其余部分的字符串更好的方法是使用
数据库。\u F\u A3
仅常量。OK。将不得不加入大量的if-else子句