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

问题描述 投票:0回答:1

我有一个带有 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;
}

它工作正常,我仍然需要显示该对话框,但我需要添加一个按钮,当我按下它时,它会加载一个新活动,也许还有更多文本行。

我该怎么做?

android android-mapview
1个回答
2
投票

当然,这是可能的。

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

也看看这个。 Android 开发者上的 AlertDialog

      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();
© www.soinside.com 2019 - 2024. All rights reserved.