Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android onButton单击Gridview时的Sqlite查询和字母排序_Android_Sqlite_Gridview - Fatal编程技术网

Android onButton单击Gridview时的Sqlite查询和字母排序

Android onButton单击Gridview时的Sqlite查询和字母排序,android,sqlite,gridview,Android,Sqlite,Gridview,这个问题的标题有点让人困惑,但我会尽力解释我的问题 我正在编写一个Android应用程序,它有4个活动。其中一个显示带有按钮的GridView。此按钮文本设置为(A、B、C、D、E等,直到Z)。当我单击按钮时,新活动将出现。在这个活动中,我试图向用户显示一个包含我数据库中单词的列表。我的问题是:无论我按下“A”或“Z”按钮,查询ind ButtonNonClick活动都会提供完整的单词列表。是否有一种方法可以告诉查询在按下按钮“a”时选择单词 我想给你我的代码,但我在这里得到错误,我的代码没有正

这个问题的标题有点让人困惑,但我会尽力解释我的问题

我正在编写一个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%'”}”类型不匹配:无法从字符串[]转换为字符串=(-_-