#android
#Android
Вопрос:
В моем приложении у меня есть tabhost с одной вкладкой для «карты»
При нажатии на карту я запускаю новое действие, в рамках которого я запускаю карту Google с использованием намерения.
Теперь, когда я нажимаю клавишу «Назад», я получаю вид вкладки с нажатой вкладкой карты и под пустым экраном.
Если я снова нажму на карту, экран останется прежним, карта больше не будет запущена.
Как я могу отображать карту всякий раз, когда я нажимаю «Карта». Как будто я нажимаю любую другую вкладку и снова нажимаю карту, она должна отображать карту.
Вот мой код, запускающий карту:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setMapView();
}
private void setMapView() {
// get lat , log here
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("geo:" latitude "," longitude "?z=10" ) );
startActivity(intent);
}
Комментарии:
1. Опубликуйте некоторый код, показывающий, как вы запускаете карту.
2. я добавил это к своему вопросу. Спасибо
Ответ №1:
Похоже, вы запускаете действие, которое затем немедленно запускает действие с картой. Это слишком сложно, и это создает проблемы для вас. Избавьтесь от активности в середине. Вы могли бы просто открыть действие, написав свой собственный onTabChangeListener для TabHost.
Другая проблема заключается в том, что вы запускаете действие, когда пользователь выбирает вкладку. Это сбивает с толку поведение. Было бы более уместно открыть вашу активность на карте с помощью кнопки или пункта меню. Код внутри setMapView() вместо этого должен перейти в метод onClick для любого элемента управления, который вы решите использовать.
Комментарии:
1. внедрение onTAbCHangeListener решает мою проблему. Я реализовал, если tabid является тем, который используется для карты, а затем запускает действие карты. Спасибо. Можете ли вы сказать мне, как мы можем показать конкретное местоположение, отмеченное на карте, когда мы используем intent для карты.