2014-09-15 4 views
1

У меня есть действие, которое представляет собой форму, содержащую поля редактирования.Открытие такой же активности дважды

С моей деятельностью у меня есть «Новая форма» Кнопка. при нажатии кнопки мне нужно открыть такую ​​же активность и изменить текст кнопки на «Форма переключателя». Что я могу сделать.

Теперь при нажатии кнопки «switch form» мне нужно открыть ранее сохраненную форму. Как я могу это сделать.

Я думаю, мне нужно создать 2 экземпляра Activity, но я не знаю, как это сделать. может кто-нибудь, пожалуйста, наведите меня на это.

Спасибо :)

ответ

0

Вы можете использовать intent для сохранения параметров, когда вы «переключатель» между формой к себе. Что касается кнопки, вы можете создать две кнопки и переключать их видимость с помощью:

buttonObj.setVisibility(View.VISIBLE); 

и

buttonObj.setVisibility(View.INVISIBLE); 
2

Вместо того, чтобы создавать два вида деятельности для той же цели, почему бы вам не использовать фрагменты вместо этого? Этот случай-сценарий наилучшим образом подходит для повторно используемого фрагмента. Вы можете легко заменять фрагменты изнутри хост-активности, выталкивать их из заднего стека, просто используя кнопку «Назад» и т. Д.

Существует множество способов обойти вашу проблему, но использование фрагмента - это, безусловно, более элегантное и масштабируемое решение

0

Вместо того, чтобы идти на 2 мероприятия, я предлагаю вам использовать одно действие с рамкой, где вы можете разместить фрагменты. При нажатии кнопки вы можете изменить текст кнопки и добавить новый фрагмент. В обратном щелчке вы можете перейти к фрагментации backstack и отобразить предыдущую форму пользователю

0

Мне кажется, вам не нужно создавать два экземпляра активности, вам нужно создать два экземпляра формы. При нажатии кнопки «Новая форма» отображаются соответствующие значения экземпляра формы и такие же, как для «Формы переключателя»

Итак, у вас будет два макета для обеих форм и одного фрагмента. Независимо от того, какое действие установлено, проверьте, какой макет применим для этого действия, и установите макет в фрагменте.

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