I am using ListView and there are several buttons on each list element.
when a button on a row is clicked that button should disappear. the clicked button disappears
Amal has part of your answer. When your adapter gets a getview call completely reinitialize the reused view.
As for your speed problem. Sounds like you want your adapter to load its data lazily. Your loading of that data is slow. Something has to give. A common solution to this problem is to load your data in a background thread.