@Override public boolean onContextItemSelected(MenuItem item) { int pos = ((android.widget.AdapterView.AdapterContextMenuInfo) item.getMenuInfo()).position; int itemId = item.getItemId(); if (itemId == R.id.showmod) { OsmandSettings settings = getMyApplication().getSettings(); OsmPoint info = (OsmPoint) listAdapter.getItem(pos); settings.setMapLocationToShow( info.getLatitude(), info.getLongitude(), settings.getLastKnownMapZoom()); MapActivity.launchMapActivityMoveToTop(LocalOpenstreetmapActivity.this); return true; } else if (itemId == R.id.deletemod) { OsmPoint info = (OsmPoint) listAdapter.getItem(pos); if (info.getGroup() == OsmPoint.Group.POI) { dbpoi.deletePOI((OpenstreetmapPoint) info); } else if (info.getGroup() == OsmPoint.Group.BUG) { dbbug.deleteAllBugModifications((OsmNotesPoint) info); } listAdapter.delete(info); return true; } else if (itemId == R.id.uploadmods) { toUpload = new OsmPoint[] {listAdapter.getItem(pos)}; showDialog(DIALOG_PROGRESS_UPLOAD); return true; } return super.onContextItemSelected(item); }
@Override protected void onResume() { super.onResume(); dataPoints = new ArrayList<OsmPoint>(); List<OpenstreetmapPoint> l1 = dbpoi.getOpenstreetmapPoints(); List<OsmNotesPoint> l2 = dbbug.getOsmbugsPoints(); dataPoints.addAll(l1); dataPoints.addAll(l2); listAdapter.clear(); for (OpenstreetmapPoint p : l1) { listAdapter.add(p); } for (OsmNotesPoint p : l2) { listAdapter.add(p); } listAdapter.notifyDataSetChanged(); }