0
我想比較標記的價值與我預先製作的SQLite數據庫中的ID。原因是我可以對特定的標記有特定的細節。 例如:比較谷歌地圖標記ID與ID在SQLite數據庫
如果點擊的標記id = 1,那麼我希望在數據庫中搜索id'1',然後從該行抓取細節。我認爲這很簡單,只是循環訪問數據庫,但這似乎不起作用。我當前的代碼是:
final Cursor dbId = monDatabase.database.rawQuery("SELECT _id from monuments", null);
int idColumnCount = dbId.getColumnCount();
dbId.moveToFirst();
while(dbId.isAfterLast() == false) {
for(int f = 0; f < idColumnCount; f++) {
mainMarkerId = dbId.getInt(0);
map.setOnInfoWindowClickListener(new OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
if(marker.getId().equals("m" + mainMarkerId)){
Log.v("marker.getId()", "the id is: " + marker.getId());
selectDesc = monDatabase.database.rawQuery("SELECT description from monuments WHERE _id = " + mainMarkerId, null);
selectDesc.moveToFirst();
_description = selectDesc.getString(0);
Intent descriptionIntent = new Intent(MainActivity.this, DisplayData.class);
descriptionIntent.putExtra(EXTRA_MESSAGE, _description);
startActivity(descriptionIntent);
markerId.moveToNext();
}
}
});
dbId.moveToNext();
}
}
我不確定是否有可能這樣,也許我不得不使用HashMap或東西。
任何幫助,非常感謝,
謝謝!
編輯:
我忘了提,我都已經顯示在地圖上,所以它更多的能夠獲取該位置的說明的情況下,然後將其通過一個新的標誌物意圖。
SOLUTION:
只是想我會張貼在這裏的解決方案,如果任何人都需要它。我並不需要一個Hashtable,所有我所用的是:
selectDesc = monDatabase.database.rawQuery("SELECT description from monuments WHERE title = '" + marker.getTitle() + "'", null);
無需所有的for循環或任何東西。非常非常簡單!