私は、XMLパージングを使用して5秒ごとに更新されるリストビューを持っています。リフレッシュ後、リストの現在の位置が最初の位置に戻ります。これを解決する方法はありますか?リストビューの先頭に戻るarrayadapterのデータを更新した後
5
A
答えて
3
lv.smoothScrollToPosition(pos)
を使用します。ここで、リストビューをの自動スクロール表示を最後に追加したエントリに更新する場合は、posは任意のint、好ましくはアダプタの長さにすることができます。
public void smoothScrollToPosition (int position)
Smoothly scroll to the specified adapter position. The view will scroll such that the indicated position is displayed.
+0
私の場合、これはnotifyDataSetChanged()が起動しても実際に動作する唯一のオプションでした。返信いただきありがとうございます。 – greg7gkb
5
リストを更新するためにsetAdapter()を使用することで、Androidは位置をリセットします。代わりにアダプタを変更してみてください。
使用しているアダプタがわからないので、ここでは2つの例を示します。
ArrayAdapter
adapter = list.getAdapter();
if (adapter == null) {
// Create new adapter + list.setAdapter()
} else {
adapter.clear();
adapter.addAll(newData);
adapter.notify(notifyDataSetChanged());
}
CursorAdapter
adapter.changeCursor(newCursor);
2
このコードはあなたを助けるでしょう....
// get position of listview
int index = listView.getFirstVisiblePosition();
View v = listView.getChildAt(0);
int top = (v == null) ? 0 : v.getTop();
// notify dataset changed or re-assign adapter here
//re-assign the position of listview after setting the adapter again
listView.setSelectionFromTop(index, top);
乾杯:)
+0
素晴らしい!!! – ajay
-1
はこの
を試してみてくださいadapter.notifyDataSetChanged();
関連する問題
- 1. アダプタのデータを変更した後、リストビューのスクロールバーを先頭に戻す方法は?
- 2. リストビューを更新してリストの先頭に移動
- 3. プログラムの先頭に戻る
- 4. ファイルの先頭に戻る?
- 5. notifyDataSetChanged()リストを更新し、スクロールをリストの先頭に戻します。
- 6. エラーの後にwhileループの先頭に戻るには
- 7. iScroll先頭に戻る
- 8. arrayadapterを新しいデータで更新またはマージするmore -
- 9. Cのforループの先頭に戻る
- 10. ループのif文の先頭に戻る
- 11. REPLの行の先頭に戻る
- 12. DictReaderの先頭に戻るには?
- 13. AS3ベクターリストの先頭に戻るには?
- 14. Aurelia typescriptページの先頭に戻る
- 15. ホバリング時、先頭のpf要素を変更した後trigger mouseleave()
- 16. 完了後のリストビューloadmoreがリストの先頭に戻り、変更されたデータセットがカウンタのようなボタンのために機能しない
- 17. UIScrollViewがバウンスする先頭に戻る
- 18. 水銀で指定されたブランチの先頭に更新
- 19. 先頭へ戻るフッターのボタン
- 20. 開いているブックとオープンした後、それが戻ってサブの先頭に戻り、
- 21. リストビューの先頭にアイテムを動的に追加する
- 22. リストビューの先頭にボタンを動的に追加する
- 23. 変更後のリストビューの更新
- 24. javanavバーをページの先頭から左側に更新しました
- 25. フェッチ後に新しいモデルをコレクションの先頭に追加する(コンパレータなし)
- 26. 更新時にページの先頭にスクロールする
- 27. アンドロイド、リストビューで選択した後に保存されたデータに戻る
- 28. リストビューを更新するSQLiteの更新操作の後
- 29. カスタムArrayAdapter。 isEnabledは最後のアイテムを更新しません
- 30. スクロール位置をリストビューの先頭に設定する方法
リストビューをリフレッシュする方法を教えてください。 – flo
おそらくあなたはリストデータをクリアし、すべて新しいものを設定します。あなたは 'ます。public void TimerMethod(){ \t \t runOnUiThread(新しいRunnableを()@flo(int型、int)メソッド – pleerock
http://developer.android.com/reference/android/view/View.html scrollToを使用することができます{ \t \t \tます。public void実行(){ \t \t \t \t // Toast.makeText(getApplicationContext()、 "こんにちはこれはpiyushある"、 \t \t \t \t // Toast.LENGTH_LONG).SHOW(); \t \t \t \t parse(link); \t \t \t \t setAdapter(); \t \t \t} \t \t}); ' このメソッドを5秒ごとに呼び出します。 parse()をxml解析に使用し、新しい値をlistadapterに設定するためのsetAdapter()を使用しました – ASP