Javaビーム工房のタイムラインにListView使っているんだけど、画像の表示やリプライ先の表示とかで非同期処理して表示するセルがずれる問題があった。(というか今も現在進行形で発生してる
その原因がListCellの中で非同期処理してるのがまずい。
どんなことが起きているかというと、リプライ先表示で説明するとこうなる。
リプライ先取得開始(非同期処理開始)→新しいツイートが来て表示するべきオブジェクトが変わる→新しいツイートのリプライ先はキャッシュされていたので先に終了→遅れて最初のリプライ取得終了→上書きされてずれる

解決方法としては、現在ListViewのItemsに入れている型がStringとかのフィールドを持つクラスなんだけど、これとは別にPropertyのフィールドだけを持つクラスを作成して、それをItemsに入れるのが良いと思う。これならプロパティが変更された時にListCellで変更を検知して表示内容を変えれる。きっとこれで解決のはず!

簡単なサンプルとしてプログレスバーを表示するListViewのサンプルを作った。
間違いや他の解決方法アレば教えて下さい。