0

私は、リストフラグメントにインターネットからのデータを取り込むアプリケーションに取り組んでいます。リストの内容は、ユーザーが現在表示しているタブに基づいて変更されることが多く、ユーザーが最後に到達すると(ページネーション)、追加のアイテムがリストに追加されます。

現在、listfragmentはarrayadapterに基づいています。ユーザーがタブを変更し、新しいアイテムが追加されると、アダプターの内容がクリアされます。ユーザーがリストの最後に到達すると、現在のアダプターにさらに取引が追加されます。

現在の実装には複数の問題があります。

1.ユーザーが再起動すると、アプリケーションデータがインターネットから正常にダウンロードされても、リストが空のままになることがあります。これは、アプリケーションを起動してから他の多くのアプリケーションを使用した後、このアプリケーションに戻る前に発生する傾向があります。アプリケーションを動作状態に戻す唯一の方法は、アプリケーションを強制的に閉じることです。

2.デフォルトでは、画面が回転すると、Androidはoncreateを使用してビューを再度作成します。これにより、インターネットからデータが再度ダウンロードされます。現在、これを克服するために、回転の変更を自分で処理します(onConfigurationChanged()を使用)。これは、推奨される方法ではないことがわかっています。

したがって、頻繁に更新する必要があることを念頭に置いて、arrayadapterをサポートするarraylistをどのように保存するのが最適ですか。また、ローテーションの変更中にarraylistの内容を保存する必要があります。

現在のコードが役立つかどうか教えてください。

4

1 に答える 1

0
  1. その問題をデバッグするためのコードが必要です。
  2. ListFragmentでsetRetainInstance(true)を使用できます。
于 2012-04-12T11:55:33.900 に答える