Android - Несколько действий, поддержание их в жизнь и сохранение состояния? - PullRequest
0 голосов
/ 01 апреля 2011

У меня есть приложение, которое создает несколько действий при обходе файловой системы (одно действие на папку или файл, поиск и т. Д.).Это приложение иногда вылетает при переходе [назад].Журналы трассировки указывают, что происходит сбой в onCreate (...), который говорит мне, что действия были уничтожены, и они воссоздаются при возвращении.Это проблема, потому что я передаю данные через Intent при движении вперед в стеке активности (то есть при обычном обходе папки).

Вот что я получаю:

ОШИБКА / AndroidRuntime (978): вызвано: java.lang.NullPointerException Folder.onCreate (Folder.java:155)

ОШИБКА / AndroidRuntime (978): в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1049) ОШИБКА / AndroidRuntime (978): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2627) ...

Как лучше всего справиться с памятью, множественными (может быть, даже 0-100?) Действиями, возвратом и т. Д. В приложении, которое работает как браузер файловой системы?

Спасибо.

РЕДАКТИРОВАТЬ: Я хотел бы продолжить использовать действия, если это возможно, или найти способ сохранить внешний вид перехода от одного действия к другому.Было бы идеально, если бы я мог получить несколько советов о том, как свести к минимуму количество действий (например, метод сохранения данных, закрытие закадровых действий, но при этом сохранить анимацию [назад], даже если необходимо повторно вызвать действие).воссозданы).Благодарю.

1 Ответ

2 голосов
/ 01 апреля 2011

Не используйте новое действие для каждого обхода каталога, вы тратите ТОННУ ресурсов. Вместо этого есть одно действие, которое работает как файловый браузер и просто сохраняет ваше собственное состояние (текущий полный путь), а затем, когда пользователь нажимает кнопку «Назад», отменяет действие по умолчанию. См. onBackPressed ()

Когда ваш метод onBackPressed запущен, вы можете взять свое состояние (полный путь) и просто переместить уровень каталога.

Просто, эффективно и чисто.

...