在我的android项目中,我的editText应该在输入时建议来自数据库的名称,包含每个字母。到目前为止,我搜索的是使用TextChangedListener(TextWatcher)。这似乎很简单,但我如何检查输入是否等于每个字母的光标数据?
这些是我的代码:
b4.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
// When user changed the Text
Cursor a = db.getAllregisteredusers();
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
});
查询:
public Cursor getAllregisteredusers (){
SQLiteDatabase db = DBHelper.getWritableDatabase();
String selectQuery = "SELECT tableinfo.*, tableacc.*" +
"FROM tableinfo JOIN tableacc ON tableinfo.userid = tableacc.userid WHERE tableacc.userstatus=? ";
Cursor data = db.rawQuery(selectQuery , new String[]{ "REGISTERED"});
return data;
}
我已经尝试过搜索,但我似乎无法得到它。我该怎么办?
你应该使用Search Interface。最难的部分通常是创建一个数据库,听起来你已经有了一个。创建搜索界面应该有很多github示例。