• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps Create a new Activity or update view of existing activity?

andypaul1

Lurker
I am very new to android development. I am working on developing an app and I am not sure when should I use a new activity and when should I update the existing view.

For example, lets say I have a view that shows a multiple choice question.Now, when the user selects his choices and clicks on say "Evaluate", I want to show the same question view but along with the right answers and explanations for each option. So does that mean, I should send an Intent upon a click on Evaluate or I should just update the view (i am not sure how)?

If I send an intent and show a new screen, how can the user go back to the next question without displaying the answers?
If I don't create an new activity, how can I update the existing view that is already displayed?

I guess I am just confused about the flow. Please pardon me if my question doesn't make any sense.

thanks!
 
For your example, it would be best to use the same Activity, but just update the content of the Activity's Views.

Activities can generally be thought of as windows in a traditional window manager. They should be used to separate logical steps in an application's use.
 
Thank you for your suggestion, jon.
Any pointers on how to update an existing view that is already being displayed? I come from Java Swing world where I can simply add/remove components from a container in the event thread and the view is updated automatically. Or I just update the model (such as for a JTable) and call fireTableDataChanged, which updates the view.

How does this work in Android app? As I understand the view is described in a hardcoded XML file, so how do I update it dynamically?

thank you!
 
You can really do the same thing in Android, but it is better practice to create all of the UIs up front and either show/hide various controls depending on the state, or simply create your layouts in seperate xml files and use the setContentView() method to swap between them.
 
Back
Top Bottom