Android - отображение другого действия при нажатии на текст, отображаемый после нажатия (индекс)

Я новичок в Android и мне нужна небольшая помощь. Я разрабатываю приложение, очень похожее на Google Maps. Я могу создать интерфейс карты и отображать маркеры вместе с методом нажатия (int index) для отображения текста при нажатии на маркеры. Теперь мне нужно начать другое действие, когда текст (который появляется после нажатия на маркер с помощью метода ontap) очень похож на то, как мы видим отзывы и другие сведения о местоположении на карте Google. Я искал и нашел реализацию некоторого класса оверлея с баллонными элементами.

У меня вопрос, есть ли другой способ сделать то же самое, не используя этот класс Баллимитизированный?

public class HelloItemizedOverlay extends ItemizedOverlay<OverlayItem>{
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
private Context mContext;

public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
    super(boundCenterBottom(defaultMarker));
    mContext = context;
}

public void addOverlay(OverlayItem overlay) {
    mOverlays.add(overlay);
    populate();
}

@Override
protected OverlayItem createItem(int i) {
    return mOverlays.get(i);
}

@Override
public int size() {
    return mOverlays.size();
}

@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());
    dialog.show();
    return true;
}
}

1 ответ

Вы могли бы сделать что-то вроде этого:

LayoutInflater cancelInflater = getLayoutInflater();
dialogView = cancelInflater.inflate(R.layout.DIALOG, null);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setView(dialogView);
dialogView.setOnClickListener(mViewClickListener);

Вам нужно будет создать файл макета для вашего диалога, R.layout.DIALOG

Затем вы можете найти ViewById() для ваших отдельных виджетов в макете и заполнить их соответствующим образом.

Затем создайте onClickListener, чтобы делать все, что нужно сделать при нажатии на диалоговое окно.

Другие вопросы по тегам