A few suggestions spring to mind, though I haven't actually built anything identical to this:
Android doesn't make any guarantees about in what order how often getView is called, so it makes sense to minimise the work done in it, particularly as a chart is quite complex and has much internal state. Given that, I'd suggest a pooling approach. There's quite a useful blog post here http://android.amberfog.com/?p=296 which explains the general principle, but you'd need to extend the concept a bit for use with the charts.
Basically, you'd keep all the SimpleDataAdapters you need for your full set of graphs (irrespective of what's visible). You can update all or any of these as your application logic demands, on the UI thread as you are doing, even if they're not currently attached to a chart.
Looking at the code above the charts seem to be more or less interchangeable, with 2 axes and a line series, so you can keep a pool of them. When one comes into view, attach the appropriate SimpleDataAdapter to it (and do whatever else you need to do to the chart), and remove it when the chart goes out of view. It shouldn't be necessary to call redrawChart explicitly as both setting the data adapter and adding a data point will trigger a reload and redraw.
I'd also advise profiling your app to see how often getView actually does get called, and how often you are setting or updating data adapters attached to a view, particularly if the data adapters are holding a lot of data.
The CustomDataAdapter sample shows one pattern for dynamically updating data, which may improve performance if you're throwing a lot of data at it fast.