Android: передача данных между представлениями - PullRequest
0 голосов
/ 09 ноября 2010

В моем приложении для Android у меня есть два пользовательских класса представления - PortraitClass и LandscapeClass.Они оба делают одно и то же.При запуске приложения класс представления извлекает некоторые изображения с SDCard, а затем манипулирует ими (искажает и т. Д.) И отображает их.Единственное различие между этими двумя классами состоит в том, что расположение изображений на экране немного отличается.

У меня есть два файла display.xml (один в папке layout, а другой в layout-land).Один в папке макета добавляет Portrait, а другой добавляет класс Landscape.

При изменении ориентации я хотел бы отправлять информацию (номера изображений и несколько растровых изображений) из одного класса в другой, поэтому мне не придется снова извлекать все растровые изображения, а также отображать те, которые былиотображается

Я нахожу сбивающую с толку вещь запутывающей.Я попытался выполнить this_example , но заметил, что в onRestoreInstance Parcelable имеет значение null для mSuperState, и я получаю состояние classCastException @ SavedState ss = (SavedState).Целое число (номер изображения), которое я пытаюсь передать, есть.Я не уверен, что я делаю неправильно.

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

Вы можете использовать глобальный синглтон в классе Application.Например, «AssetManager» доступен здесь:

public class YourApplication extends Application {

    public AssetManager assetManager = new AssetManager();

    @Override
    public void onCreate() 
    {
        super.onCreate();
    }
}

Затем вы можете вызвать его из другого действия:

 YourApplication application = ((YourApplication ) this.getApplication());
 application.assetManager.someFunction();
0 голосов
/ 09 ноября 2010

Не уверен, что это то, что вы ищете, но мои вещи всегда работают с изменением ориентации с помощью onCreate (Bundle saveInstanceState). Мой - весь текст в текстовых полях редактирования, хотя я не уверен, как это будет работать для вас.

Также проверьте это примерно на полпути в разделе «Сохранение информации о состоянии во время изменения конфигурации». http://www.devx.com/wireless/Article/40792/1954

...