안녕하세요.
 하기 질문에 앞서, 나름 ListView를 사용해 보았고, ListView에 대한 많은 글들과 Q&A를 읽고
 질문을 드립니다.

사전 설명..
 ListView를 사용자 레이아웃을 적용하여 사용중에 있습니다.( 한 Item에 ImageView, TextView, Button 등이 들어갑니다.)
 Item마다 각 객체 정보들은 따로 클래스를 만들어 저장해두고 사용하고 있습니다.
 그래서 getView()에서 view가 null 일때만 새로이 정보를 만들어 내고, 나머진 저장해둔 정보를 사용합니다.
 또한, TextView나 Button 등은 1초에도 수번씩 정보가 변경 될 수도 있습니다.
 버튼 같은 경우는 클릭했을 때, 상태 클래스를 살펴보고, 그에 따라 버튼 Text라든지 이미지도 변경됩니다.

 현 문제점..
 getView()에서가 아닌 TextView나 Button 객체에 직접적으로 setText 형태로 데이터를 넣으니
 ListView에 바로 데이터가 갱신이 되어 보입니다.
 헌데, 이상하게 제가 setText를 1번 행에 했다고 한다면.. 저~ 5번 행에서도 동일한 text가 적용되 보이게 됩니다.
 하지만 실제 데이터를 읽어보면 원래 데이터가 제대로 저장 돼 있습니다. 보이기만 그렇게 보이더라구요..;;
 심지어는 invisible 상태의 TextView가 값자기 보이는 경우도 있습니다. 
 
 위 상태로 인해 notifyDataSetChanged() 함수를 setText하고 난 다음 호출 해주니
 위 상황은 싸그리~ 없어졌습니다.
 헌데!!! Item에 Button이 있다고 하지 않았습니까..?? 그 버튼들을 하나씩 클릭하다 보면
 다른 Listener가 호출 돼 버립니다. 예로, 1번 행에서 버튼을 클릭하면 4번행의 버튼 리스너가 동작(onClick)한다는 거죠.

 그래서요. 제가 마지막으로 setText를 직접 하지 않고.. String은 수정된 상태에서
 invalidate() 함수를 통해 갱신만 하게 했거든요. notifyDataSetChanged() 이 함수는 쓰지 않구요..
 그랬더니 위 첫번째랑 두번째 문제점이 생기지 않는 것입니다.
 헌데!!! 화면이 바로 갱신이 안 되고 스크롤을 움직여야지 갱신되는 문제가 있더라구요.

 이 총체적 난국을 어떻게 해결 할 수 있을까요..ㅠㅠ?

 PS. ListView에서 하는 역할은 안드로이드 마켓처럼 리스트에서 특정 아이템의 버튼을 클릭해서
       다운받는 기능을 하는데요. 다운받은 %를 해당 Item의 TextView를 통해서 계속 보여주고 있는 상태입니다.

 긴글 읽어주셔서 감사합니다.