2015-04-15 3 views
0

В настоящее время у меня есть некоторые кнопки, которым назначены OnClickListener на основе событий. Однако, когда я пытаюсь восстановить все при изменении ориентации, все OnClickListeners сбрасываются.Как восстановить назначенный OnClickListener в OnRestoreInstanceState

Мне нужен способ ввода того, что OnClickListener было назначено кнопке в комплекте, поэтому я могу переназначить его в OnRestoreInstanceState.

Любая помощь будет высоко оценена.

ответ

2

Извините, у меня нет 50 комментариев, чтобы добавить комментарий.

Любые конкретные причины необходимости сохранения экземпляра OnClickListener в отличие от его переменных?

Вы можете заставить свой класс реализовать OnClickListener. Таким образом, вы перемещаете любую соответствующую информацию в свой класс и легко доступны для вашего метода onSaveInstanceState().

В любом случае, если бы вы могли предоставить образец кода того, что вы пытаетесь сделать, это было бы очень полезно.

+0

Чтобы быть честным, количество работы было бы изменить все. Как вы думаете, это мой единственный вариант. Я просто занимаюсь некоторыми исследованиями, прежде чем я обязуюсь изменить все это. –

+0

Если вы не расширите OnClickListener и не сделаете его сериализуемым, я не думаю, что вы можете добавить это в пакет. В любом случае, создав класс, реализующий его, вы можете просто скопировать ваш onClick в метод, который будет добавлен в класс, это должно быть прямое изменение, не так ли? –

+0

Спасибо за помощь. –

0

Вы можете теоретически создать класс, который реализует View.OnClickListener и Serializable, инициирует его и сохраняет ссылку на него, а затем при вращении используйте onSaveInstanceState(), чтобы сохранить это для объединения, а затем в onCreate восстановить его. Но, честно говоря, у вас должна быть повод для этого. Я не могу думать об этом. Эта информация должна храниться в корневом объекте, который содержит прослушиватель, вы можете сохранить его состояние в этом корневом объекте и сохранить/восстановить его в обычном режиме.

 Смежные вопросы

  • Нет связанных вопросов^_^