0

これが私のシナリオです:

アクティビティ1、アイテムのリストがあります。

アクティビティ1には、クラスAのオブジェクトが含まれています。このオブジェクトは、SQLiteデータベースによって取得されたデータのカーソルをローダーマネージャーのセットアップを介して取得し、アクティビティ1に返すことを処理します

アクティビティ1では、リスト内のこれらの各ビューにボタンがあります。ボタンを押すと、 クラスBが実行されます。

クラスBは、SQLiteデータベース内の単一の値を変更します。

クラスBで、カーソルを更新するために、データが変更されたことをローダーマネージャーに通知するにはどうすればよいですか。ローダーマネージャーはクラスAでセットアップされていることを忘れないでください。

基本的に、上記が意味をなさない場合は、基になるSQLデータが変更されたときにカーソルを更新する必要がありますが、ローダーマネージャーに直接接続していないクラスからこれを行う必要があります。

4

1 に答える 1

1

たとえば、Activity1 の onCreate で、両方のクラスに相互にアクセスさせることができます。

ClassA obj1 = new ClassA(...);
ClassB obj2 = new ClassB(...);
obj2.setClasssA(obj1);

ClassBコード内では、データベースの更新が完了したら、classAのメソッドを呼び出してカーソルを更新できます。長い行の何か:

obj1.onNewData();

それが理にかなっていることを願っています

于 2013-01-31T21:57:37.483 に答える