我可以个性化googlemapview上项目的onTap()对话框吗? (我想在上面添加一个按钮)

时间:2010-12-15 09:27:58

标签: android android-mapview

我有一个mapview,带有itemizedoverlays,与Android开发人员指南的示例完全相同:http://developer.android.com/resources/tutorials/views/hello-mapview.html

在那个例子中,当你按下一个项目时,它会显示一个带有小物体的物体:

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());
  dialog.show();
  return true;
}
好吧,它工作正常,我仍然需要显示该对话框,但我需要添加A BUTTON,当我按它时它会加载一个新的活动,也许还有一些文本行。

我该怎么办?我在谷歌上找不到任何东西

1 个答案:

答案 0 :(得分:2)

当然,这是可能的。

我就是这样做的。请注意,还有一个setNeutralButton可能 据我所知,这是你可以使用的3个按钮。

看看这个。 AlertDialog on Android Developers

      AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
        builder.setMessage(item.getSnippet())
               .setTitle(item.getTitle())
               .setCancelable(true)
               .setPositiveButton("View Details", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       Intent intent = new Intent(mContext, org.gpsagenda.DetailsContainer.class);
                       intent.putExtra("id", item.ID());
                       intent.putExtra("isConnected", MainMap.getIsConnected());
                       mContext.startActivity(intent);
                   }
               })
               .setNegativeButton("Close window", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       dialog.dismiss();
                   }
               });
        AlertDialog alert = builder.create();
        alert.show();