Android проведите пальцем по страницам горизонтального просмотра с помощью MapViewAndroid

Форум для тех, кто программирует под Android
Anonymous
Android проведите пальцем по страницам горизонтального просмотра с помощью MapView

Сообщение Anonymous »

У меня есть приложение для Android с представлением, содержащим 3 страницы, между которыми пользователь может перемещаться, проводя пальцем (влево или вправо — горизонтальное представление страниц). Я скачал «android.support.v4.view.ViewPager» и нашел способ реализовать пролистывание, главным образом благодаря этому уроку здесь: http://mobile.tutsplus.com/tutorials/an ... ace-design -horizontal-view-paging/

Моя проблема в том, что я хочу, чтобы одно из моих представлений запускало MapView. Но для запуска MapView мне нужна активность, расширяющая MapActivity. Если у меня есть весь класс «RecordAdapter» в MapActivity, который содержит все три представления, то у меня возникает проблема, поскольку каждому MapActivity может быть назначен только один MapView. Поэтому, если я проведу пальцем обратно на другую страницу, а затем обратно на страницу карты, проект завершится сбоем. У меня это есть в коде:

Код: Выделить всё

            switch (position) {
case 0:
resId = R.layout.record1;
break;
case 1:
resId = R.layout.record2;
break;
case 2:
resId = R.layout.record3;
break;
}
Где «запись3» содержит мой MapView. Из экспериментов сбой происходит, когда я возвращаюсь к «записи1», а затем снова к «записи2». Кажется, он запускает новый MapView при переходе на запись2 (?)! Это должно быть так, потому что, как ни странно, у меня MapView посередине:

Код: Выделить всё

            switch (position) {
case 0:
resId = R.layout.record1;
break;
case 1:
resId = R.layout.record3;
break;
case 2:
resId = R.layout.record2;
break;
}
все работает нормально! Но это не то, чего я хочу (возможно, мне в будущем понадобится и 4-я страница).

Надеюсь, я написал не слишком сложно.

И что мне делать? Есть идеи?

РЕДАКТИРОВАТЬ:
Я нашел ответ на этот вопрос. Мне нужно было добавить
"myPager.setOffscreenPageLimit(3);"
когда я вызываю ViewPager из своего кода. Таким образом, просмотры сохраняются!

Подробнее здесь: https://stackoverflow.com/questions/930 ... th-mapview

Вернуться в «Android»