よろしくお願いします。SearchViewの提案に関するさらに詳しい情報
私のアプリでは、このsearchView提案機能を実装しています。私は私が望んでいたとして、各行に表示されるのに十分な情報を得ることができない。しかし:
あなたが見ることができるように、私はそこに初期と性別を持っているが、私は、など年齢やIDなどの詳細情報が欲しいです。
情報はアプリ内のSQLiteデータベースに格納されている、と私は以下のコードを介してこれらの情報を引っ張っています:事前に
public MyDBHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
// This HashMap is used to map table fields to Custom Suggestion fields
mAliasMap = new HashMap<String, String>();
// Unique id for the each Suggestions (Mandatory)
mAliasMap.put("_ID", COLUMN_ID + " as " + "_id");
// Text for Suggestions (Mandatory)
mAliasMap.put(SearchManager.SUGGEST_COLUMN_TEXT_1, COLUMN_INITIAL + " as " + SearchManager.SUGGEST_COLUMN_TEXT_1);
mAliasMap.put(SearchManager.SUGGEST_COLUMN_TEXT_2, COLUMN_GENDER + " as " + SearchManager.SUGGEST_COLUMN_TEXT_2);
}
/** Returns patients for suggestions */
public Cursor getPatients(String[] selectionArgs){
String selection = COLUMN_INITIAL + " like ? ";
if(selectionArgs!=null){
selectionArgs[0] = "%"+selectionArgs[0] + "%";
}
SQLiteQueryBuilder queryBuilder = new SQLiteQueryBuilder();
queryBuilder.setProjectionMap(mAliasMap);
queryBuilder.setTables(TABLE_PATIENTS);
Cursor c = queryBuilder.query(getReadableDatabase(),
new String[] { "_ID",
SearchManager.SUGGEST_COLUMN_TEXT_1,
SearchManager.SUGGEST_COLUMN_TEXT_2 } ,
selection,
selectionArgs,
null,
null,
COLUMN_INITIAL + " asc ","10"
);
return c;
}
ありがとう!