質問

問題があります。私のメインアクティビティには、ListViewがあります。また、このアクティビティに戻るたびに更新する必要があります。これにはonResume()メソッドを使用します: ジェネラコディセタグプレ

ご覧のとおり、ListViewのデータを変更するためにArrayAdapterから拡張された更新アダプターを使用しています。

しかし、場合によっては、このリストを最後までスクロールする必要があります。新しいアイテムを追加したとき。そして、私はこれにonActivityResult(...)メソッドを使用します: ジェネラコディセタグプレ

しかし、私には1つの問題があります。リストに新しいアイテムを追加すると、この両方のメソッドがonActivityResult(...)の順序で実行され、その後onResume()が実行されます。そして私は持っています:

  1. refreshCategoriesList()を使用して更新されたデータを一覧表示します(ただし、これは主な問題ではありません)。
  2. onResume()の実行後、リストを最後までスクロールして最初のアイテムの位置に復元しました:(問題です。新しいアイテムを追加するときにリストを最後までスクロールしたいからです。

    この問題を解決するにはどうすればよいですか。場合によっては、onActivityResult(...)メソッド(リストをスクロールする必要がある場合)と他のonResume()メソッド(単にリストデータを更新する必要がある場合)のみを呼び出すことができますか?

役に立ちましたか?

解決

You can use notifyDataSetChanged() method from ArrayAdapter instead of recreating adapter every time.

private void refreshCategoriesList() {
    categoriesListAdapter.notifyDataSetChanged();
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top