2012-04-02 8 views
0

私は単純なXMPPクライアントをアンドロイドで作成しています。すべてのXMPPコールを素敵なヘルパーモジュールに抽出しました。このモジュールは、入ってくるXMPPメッセージをSQLiteデータベースに書き込みます。SQLiteChangeのビューを更新しました

ユーザーがビューを開くと、アプリケーションはSQLiteデータベースから最新のメッセージのコピーを取得します(簡単です)。

しかし、「ListView」が表示されている間にXMPPメッセージが表示された場合、ビューに更新を指示するメッセージがツリーの下に表示されます。

XMPPクライアントは、それがまったく役に立たない場合は、アプリケーションコンテキストで実行されます。

答えて

1

あなたが必要とするオブザーバーパターンの良い実装であるContentProviderContentObserverを使用してください。リストビューにコンテンツを提供するアダプタであっても、実質的にすべての観察側のを処理し、あなただけの使用listview.notifyDataSetChanged()あなた自身のContentProvider

+0

を処理する必要があります私は、コンテンツを設定することができますプロバイダー/オブザーバーは非公開、つまりこのアプリ内でのみ利用可能ですか? –

+0

デフォルトではContentProviderはプライベート – smith324

0

を実装すると、リストビューが残り:)

+0

です。私ははっきりと説明していないかもしれませんが、問題を1つのアイテムを更新することができません、そのリストビューを現在別のクラスから表示して、セットが変更されました。 –

関連する問題