私が持っているListView
カスタム行で。これらの行のいずれかをクリックすると、ListViewのデータが再生成されます。これが発生した場合、リストを一番上にスクロールして戻したいのですが。
私は最初に
これを達成するためにsetSelection(0)
各行で使用しようとしましOnClickListener
たが、失敗しました(ListView
データが無効になるとスクロール位置が失われるため、setSelectionの呼び出しが取り消されます。ListViewがスクロール先を決定する方法がまだわかりませんただし、無効化後)。
私が知っている唯一の実用的な解決策は、ここでRomain Guyによって提供されました:http: //groups.google.com/group/android-developers/browse_thread/thread/127ca57414035301
これにはView.post
、への呼び出し()が含まれ_listView.setSelection(0)
ます。これは非常にパフォーマンスが悪いことがわかりました。新しく生成されたリストは、スクロール位置が変更されていない状態で表示され、一番上にスクロールして戻るまでにかなりの遅延があります。
この機能を実現するためのより良い方法はありますか?
どんな助けでも大歓迎です。
ありがとう!