Ceci est mon activité NearMe. Je veux des marqueurs sur google maps. Puis quelqu'un marque le marqueur ou superposition je veux montrer une boîte de dialogue d'alerte. Cet appel MapActivity de MapGroupActivityToast Travail mais alerte Dialog ne fonctionne pas lorsque vous cliquez sur overezed overlay dans TabGroupActiviy?
public class NearMeActivity extends MapActivity implements OnClickListener {
private Button imgbtn_map_filter;
private MapView mapView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.nearme_layout);
setMapNOverlay();
setUI();
imgbtn_map_filter.setOnClickListener(this);
final TabGroupActivity parentActivity = (TabGroupActivity) getParent();
parentActivity.closeAllChildsExceptLastOne();
}
private void setUI() {
imgbtn_map_filter = (Button) findViewById(R.id.btn_map_filter);
}
private void setMapNOverlay() {
mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.balloon);
MyItemizedOverlay itemezedOverlay = new MyItemizedOverlay(drawable,
this);
GeoPoint point = new GeoPoint(19240000, -99120000);
OverlayItem overlayitem = new OverlayItem(point, "Holaaaa! !!",
"Fuck offf");
itemezedOverlay.addOverlay(overlayitem);
mapOverlays.add(itemezedOverlay);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_map_filter:
//start activity for result da var onlar incelenecek
Intent intent = new Intent(getParent(), TestActivity.class);
TabGroupActivity parentActivity = (TabGroupActivity) getParent();
parentActivity.startChildActivity ("TestActivity", intent);
break;
default:
break;
}
}
}
Ceci est la classe ItemizedOverlay. J'essaie de montrer une boîte de dialogue d'alerte.
public class MyItemizedOverlay extends ItemizedOverlay {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
Context mContext;
public MyItemizedOverlay(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
mContext = context;
}
//bir Overlay'e dokunduğu zaman olaylar olaylar
@Override
protected boolean onTap(int index) {
OverlayItem item =mOverlays.get(index);
AlertDialog.Builder dialog= new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
try{
dialog.show();
}catch(Exception el){
Log.d("Error: ---->" + e.toString)
}
return super.onTap(index);
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
// ne zaman bir overlay eklesek populate methodunu çalıştırmamız
// gerekmektedir. Yen bir overlay
// nesnesi eklemek için
// populate methodu çalıştığı zaman overlay createItem çalıştıracaktır
populate();
}
// eklenen overlay'in yerini verir.
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
// eklenen yeni overlayın seize'ını almamız gerekmektedir
@Override
public int size() {
return mOverlays.size();
}
}
Quand j'étais écrire Toast.makeText (mContext, "Bla bla", Toast.LENght_LONG) .show() -> exécuter avec succès mais buider dialogue d'alerte ne fonctionnent pas en méthode de robinet.
Je saisis cette erreur: android.view.WindowManager $ BadTokenException: Impossible d'ajouter la fenêtre - jeton [email protected] est pas valide; Votre activité est-elle en cours?
return super.onTap (index);
ce lien vous suffit de suivre ma réponse sur la même question http://stackoverflow.com/questions/10415033/display-dialog-box-when-i-click-on-the-maps-place-marker-icon/10426479#10426479 –
Je prends t son erreur: android.view.WindowManager $ BadTokenException: Impossible d'ajouter la fenêtre - token [email protected] n'est pas valide; Votre activité est-elle en cours? – icmeyecektim