Могу ли я персонализировать диалог onTap () элементов в моем googlemapview? (Я хочу добавить кнопку на нем) - PullRequest
1 голос
/ 15 декабря 2010

У меня есть вид карты с размеченными наложениями, точно так же, как в примере руководства для разработчиков Android: http://developer.android.com/resources/tutorials/views/hello-mapview.html

В этом примере, когда вы нажимаете на элемент, он показывает диалог с заголовком иbody:

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;
}

хорошо, он работает нормально, и мне все еще нужно показать это диалоговое окно, но мне нужно добавить КНОПКУ, чтобы при нажатии она загружала новое действие и, возможно, еще немного тексталинии.

как я могу это сделать?я не могу найти ничего в Google

1 Ответ

2 голосов
/ 15 декабря 2010

Конечно, это возможно.

Вот как я это делаю. Обратите внимание, что есть также setNeutralButton.
Это 3 кнопки, которые вы можете использовать, насколько я знаю.

Посмотри и на это. AlertDialog для разработчиков Android

      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();
...