optimize listview by created ViewHolder class