Мое приложение состоит из MapActivity
, который загружает представление XML (map_layout), содержащее MapView
и CustomView
, которое расширяет ImageView
.
Я использую следующий код для настройки моего MapActivity
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_layout);
initialise();
}
Затем при инициализации я извлекаю MapView
и CustomView
из файла XML, используя findViewById(...)
как обычно.
В функции onMeasure(...)
моего CustomView
я использую this.getWidth()
и this.getHeight()
, чтобы получить его размеры, которые возвращают правильные результаты.
Затем в своем коде initialise()
я решил проверить, включен ли GPS (используя код, подобный первому ответу здесь: Как узнать, включен ли GPS устройства Android ), показывает AlertDialog
, если GPS отключен.
Проблема теперь в том, что функция onMeasure(...)
моего CustomView
больше не работает правильно, и this.getWidth()
и this.getHeight()
оба возвращают 0, если отображается AlertDialog
.
Почему это так?
Заранее спасибо за помощь, если мой вопрос неясен, я отредактирую его, чтобы добавить полный код, когда у меня будет шанс.