remove the loop, you don't need it, just schedule anther runnable inside the handler like this:
void updateTextView(){
m_switcher.setText((CoinShowReader.tickercontent.get(CoinShowReader.m_counter)));
CoinShowReader.m_counter++;
mHandler.postDelayed(new Runnable() {
public void run() {
updateTextView();
} } ,2000); }
}
that way every call to updateTextView()
schedule the next call and so on ...
Note: don't forget to insert trigger to stop that behavior because it's infinity