Большинство веб-платформ использует сервлет диспетчера (исключая: MVC Spring), который заботится о запросах маршрутизации к соответствующим классам/контроллерам.
, Когда Вы начинаете иметь много страниц, этот подход работы лучше всего, потому что у Вас есть более удобный для пользователя путь (в отношении web.xml) объявления/управления класса, который обрабатывает запросы HTTP и его URL. Пример (пружина mvc снова):
@Controller
public class MyController {
@RequestMapping("/viewPosts")
public void doViewPosts(HttpRequest r, HttpResponse res) {
//...
}
}
Кроме того, наличие сервлета диспетчера сохраняет Ваш поток кода централизованным.
Реализовав в классе как java.util.List, так и java.io.Serializable, вы вызвали эту ошибку Android .
Я подозреваю, что происходит это, поскольку вы не ' t объявляя ObjectB сериализуемым, он «возвращается» к самому последнему родительскому объекту. Поэтому, когда вы помещаете его в Bundle, вы фактически не помещаете его в ObjectB, но ObjectB возвращаетесь в ArrayList.
Я думаю, вам придется использовать второй («отлично работает») код.
Как вы объявляете ObjectB перед тем, как передать его в пакет? Насколько я понимаю ваш вопрос, вы не получаете ошибок при передаче пакета, только при его удалении. Попробуйте восстановить свой ObjectB в типе ObjectB, например, следующим образом:
ObjectB y = (ObjectB) getIntent().getExtras().get("blabla");
The ObjectA
in ArrayList
should implements the interface Parcelable
. After that you can put your arraylists in the intent, and get them in another activity.