これは私のNearMeアクティビティです。私はGoogleマップ上のマーカーをしたいです。誰かがクリックマーカーまたはオーバーレイをクリックすると、警告ダイアログが1つ表示されます。これはMapGroupActivityからのMapActivity呼び出しです。はいけない仕事?
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;
}
}
}
これはItemizedOverlayクラスです。私は1つの警告ダイアログを表示しようとしています。 >成功し を実行しますが、警告ダイアログbuiderいけない仕事 - 私は.SHOW()Toast.makeText(mContext、 "BLAのBLA"、Toast.LENght_LONG)を書きました
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();
}
}
タップ方法で。
私はこのエラーを取っています: android.view.WindowManager $ BadTokenException:ウィンドウを追加することができませんが - トークン[email protected]が有効ではありません。あなたの活動は実行されていますか?
リターンsuper.onTap(インデックス)
ちょうどこのリンクをたどります同じ問題に関する私の返信 http://stackoverflow.com/questions/10415033/display-dialog-box-when-i-click-on-the-maps-place-marker-icon/10426479#10426479 –
私は彼のエラー: android.view.WindowManager $ BadTokenException:ウィンドウを追加できません - トークン[email protected]は無効です。あなたの活動は実行されていますか? – icmeyecektim