1

謝謝你的時間。 希望我能儘可能清楚,事先道歉,以至於我未能這樣做。Android:由於併發問題,我無法使用CursorAdapter。我該怎麼做呢?

情況: 我創建一個多線程的Android應用程序與本地數據庫交易。出於同步/併發的原因,我希望一個特定的活動根本不需要使用Cursor進行交易。但是,現在,它使用CursorAdapter在屏幕上顯示數據庫中的數據。

問題: 我怎樣才能複製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 
      } 
     }); 

此代碼將進入其中一個AsyncTask重載,例如onPreExecute或doInBackground。

這可能允許您以更線程安全的方式運行非線程安全的代碼。

我希望這有助於!