1

お時間をいただきありがとうございます。 できるだけ私はできるだけ明確にすることができます、私がそうしない限り、事前に謝罪してください。Android:並行性の問題があるため、CursorAdapterを使用できません。代わりに私は何をすべきですか?

状況: 私は、ローカルデータベースを扱うマルチスレッドAndroidアプリケーションを作成しています。同期/並行性の理由から、私は特定のアクティビティがCursorで全く取引をしないようにしたい。ただし、現在のところ、CursorAdapterを使用して、dbのデータを画面に表示します。

質問: (オープン・カーソルを持つことが同時実行エラーを紹介しますので)どのように私は、カーソルを使用せずにSimpleCursorAdapterの機能を複製することができますか?

(私はすでに一緒にプレイする準備ができて転がっていることを持っているように、オブジェクトのArrayListのを使用すると、最高動作します。)

はありがとうございます。私は随所にこだわり、必要に応じてすべてを明確にします。有用である可能性が

答えて

0

何か:

あなたは非同期スレッドでスレッドセーフな方法でカーソルに対処したい場合(つまり、予想通り)を使用してみてくださいrunOnUiThread:http://developer.android.com/reference/android/app/Activity.html#runOnUiThread(java.lang.Runnable)

コードは次のとおりです。

activity.runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       //Paste code here 
      } 
     }); 

このコードは、onPreExecuteやdoInBackgroundなどのAsyncTaskオーバーロードのいずれかになります。

これにより、スレッドセーフでないコードをスレッドセーフな方法で実行できます。

こちらがお役に立てば幸いです。

関連する問題