ListView and BaseAdapter
In Chapter 5, Real-World Layouts, we used ScrollView and we populated it with around 20 TextView widgets, so we could see it scrolling. We could take what we just learned about arrays and ArrayList and create an array of TextViews and use them to populate ScrollView. This sounds like a perfect solution to display excerpts of a note in our Note To Self app.
We could create TextViews dynamically in Java code, set their text property to be the title of a note, and then add TextViews to LinearLayout that is contained in ScrollView. However, this is imperfect.
The problem with displaying lots of widgets
This might seem fine, but what if there were dozens, hundreds, or even thousands of notes? We couldn't have thousands of TextViews in memory because the Android device might simply run out of memory or, at the very least, grind to a halt as it tries to handle the scrolling of such a vast amount of data.
Now consider that we want each note in ScrollView to show an image about...