Android onButton单击Gridview时的Sqlite查询和字母排序
这个问题的标题有点让人困惑,但我会尽力解释我的问题 我正在编写一个Android应用程序,它有4个活动。其中一个显示带有按钮的GridView。此按钮文本设置为(A、B、C、D、E等,直到Z)。当我单击按钮时,新活动将出现。在这个活动中,我试图向用户显示一个包含我数据库中单词的列表。我的问题是:无论我按下“A”或“Z”按钮,查询ind ButtonNonClick活动都会提供完整的单词列表。是否有一种方法可以告诉查询在按下按钮“a”时选择单词 我想给你我的代码,但我在这里得到错误,我的代码没有正确的格式作为代码上传到这里Android onButton单击Gridview时的Sqlite查询和字母排序,android,sqlite,gridview,Android,Sqlite,Gridview,这个问题的标题有点让人困惑,但我会尽力解释我的问题 我正在编写一个Android应用程序,它有4个活动。其中一个显示带有按钮的GridView。此按钮文本设置为(A、B、C、D、E等,直到Z)。当我单击按钮时,新活动将出现。在这个活动中,我试图向用户显示一个包含我数据库中单词的列表。我的问题是:无论我按下“A”或“Z”按钮,查询ind ButtonNonClick活动都会提供完整的单词列表。是否有一种方法可以告诉查询在按下按钮“a”时选择单词 我想给你我的代码,但我在这里得到错误,我的代码没有正
请帮我解答=(!您需要像这样进行查询 从表中选择*字段,如“a%”按字段排序 根据需要替换表、字段和“a%”
public Cursor getEmployees(String startwith)
{
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String[] sqlSelect = { "0 _id", "Wort", "Erklärung" };
String sqlwhere = " field like '" + startwith + "%'";
String sqlTables = "GlossarKomplett";
qb.setTables(sqlTables);
Cursor c = qb.query(db, sqlSelect, sqlwhere, null, null, null, null);
c.moveToFirst();
return c;
}
编辑
这就是你需要的
public Cursor getEmployees(String startwith)
{
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String[] sqlSelect = { "0 _id", "Wort", "Erklärung" };
String sqlwhere = " field like '" + startwith + "%'";
String sqlTables = "GlossarKomplett";
qb.setTables(sqlTables);
Cursor c = qb.query(db, sqlSelect, sqlwhere, null, null, null, null);
c.moveToFirst();
return c;
}
你好,nicolas,谢谢你的快速回答。但是我没有这样一个硬代码来查询我的所有单词:public Cursor getEmployees(){SQLiteDatabase db=getReadableDatabase();SQLiteQueryBuilder qb=new SQLiteQueryBuilder();String[]sqlSelect={“0_id”,“Wort”,“Erklärung”};String sqlTables=“GlossarKomplett”;qb.setTables(sqlTables);Cursor c=qb.query(db,sqlSelect,null,null,null,null);c.moveToFirst();return c;}您需要建立字符串的开头,尝试使用这个。公共游标getEmployees(String startwith){SQLiteDatabase db=getReadableDatabase();SQLiteQueryBuilder qb=new SQLiteQueryBuilder();String[]sqlSelect={“0_id”,“Wort”,“Erklärung”};String[]sqlwhere={“类似于“+startwith+“%”的字段];String sqlTables=“GlossarKomplett”;qb.setTables(sqlTables);游标c=qb.query(db,sqlSelect,sqlwhere,null,null,null);c.moveToFirst();返回c;}当我尝试时,它会在“游标c=qb.query”处返回这个结果查询带红色下划线。SQLiteQueryBuilder类型中的方法查询(SQLiteDatabase,String[],String,String[],String,String)不适用于参数(SQLiteDatabase,String[],String[],String[],null,null,null),对不起,我的错误,将行字符串[]sqlwhere更改为字符串sqlwhere;字符串sqlwhere={“类似字段的”+startwith+“A%'”};此部分用红色下划线表示,但“{”字段类似“+startwith+“A%'”}”类型不匹配:无法从字符串[]转换为字符串=(-_-