0

以前の ListView アクティビティについて質問があります。

ソケット接続を使用して更新を続けている ListView があります。リスト行のいずれかをクリックすると、前の ListView 画面に戻ったときに次の画面に移動できます。ListView は再び更新を開始しますが、維持したい次の画面にいるときにバックグラウンドで ListView を更新します。

次の画面にいるときに、前の画面を維持したいようなものです。

4

2 に答える 2

0

あなたのデータをロードするために使用しているコードは、ListViewあなたのActivity. たとえば、あなたの中にAsyncTaskorがあり、それを使用してデータをダウンロードしたり、データを取得してリストに入力するために必要なことを行ったりします。また、ライフサイクルメソッドのいずれかで開始すると仮定します。ThreadActivityListViewActivityonCreate()

その場合は、リストのデータを取得するために使用されるコードをアクティビティ コードから分離することを検討する必要があります。

これを行う 1 つの方法はService、アプリケーションの残りの部分とは独立して実行できる を使用し、リストのデータの取得に伴うすべての面倒な作業を行うことです。アプリケーションのどこからでもサービスと通信できます。はService、データをデータベースに保存できます。その後、Activity で行う必要があるのは、データベースにクエリを実行し、アダプターにデータを入力して、遅延なく最新のデータを取得することだけです。

サービスの詳細については、http: //developer.android.com/reference/android/app/Service.htmlを参照してください。

于 2013-03-02T17:03:40.360 に答える
0

ポールが提案したことを行うことができます(そしておそらくそうすべきです) 。またはFragmentsを使用して画面を切り替える方法に変更することもできますViewFlipper。このようにして、別のページで何か他のことをしながら AsyncTaskorを実行します。Thread

于 2013-03-02T17:14:22.480 に答える