Я хочу иметь поисковую карту для моей карты, которая основана на имени и Latlang местоположения.android- Как обескровить поисковую карту для карты со String и Lat lang?
У меня есть Hashmap();
но эта строка: map.put (BaseColumns._ID, "rowid AS" + BaseColumns._ID);
дает ошибку: Неверный тип второго аргумента, требуется строка, найденная Latlang.
Я попытался изменить BaseColumns._ID на Latlang, но не смог.
Как это исправить?
private static final String TAG = "DictionaryDatabase";
//The columns we'll include in the dictionary table
public static final String KEY_WORD = SearchManager.SUGGEST_COLUMN_TEXT_1;
public static final Latlang KEY_DEFINITION = SearchManager.SUGGEST_COLUMN_TEXT_2;
private static final String DATABASE_NAME = "dictionary";
private static final String FTS_VIRTUAL_TABLE = "FTSdictionary";
private static final int DATABASE_VERSION = 2;
private final DictionaryOpenHelper mDatabaseOpenHelper;
private static final HashMap<String,Latlang> mColumnMap = buildColumnMap();
/**
* Constructor
* @param context The Context within which to work, used to create the DB
*/
public DictionaryDatabase(Context context) {
mDatabaseOpenHelper = new DictionaryOpenHelper(context);
}
private static HashMap<String,Latlang> buildColumnMap() {
HashMap<String,Latlang> map = new HashMap<String,Latlang>();
map.put(KEY_WORD, KEY_DEFINITION);
map.put(KEY_WORD, KEY_DEFINITION);
map.put(BaseColumns._ID, "rowid AS " +
BaseColumns._ID);
map.put(SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID, "rowid AS " +
SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID);
map.put(SearchManager.SUGGEST_COLUMN_SHORTCUT_ID, "rowid AS " +
SearchManager.SUGGEST_COLUMN_SHORTCUT_ID);
return map;
}
Как насчет 'map.put (BaseColumns._ID, новый Latlang (data1, data2));'? Или Почему вы не можете просто создать «Map»? –
@KNeerajLal спасибо – Hadis