私は持っている連絡先(モデル)のリストを持っています。そのリストは領域オブジェクトのリストです。そして、私は今の問題は、私はasynctaskを呼び出すと私のような、そのクラスでこのリストを使用していますということですレルムオブジェクトがアンドロイドで無効になっています
public static List<Contact> getAllTazligenContacts(Context context) {
Realm realm = Realm.getInstance(context);
return realm.where(Contact.class)
.equalTo("isTazligenContact", true)
.findAll();
}
のような領域から、それらのオブジェクトを取得します。それは
public class AsyncCallContacts extends AsyncTask<String, Void, List<Contact>> {
private ProgressDialog dialog = new ProgressDialog(mContext);
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(mContext, null, getString(R.string.getting_contacts));
super.onPreExecute();
}
@Override
protected List<Contact> doInBackground(String... params) {
//Some task (realm objectList is used)
}
@Override
protected void onPostExecute(List<Contact> result) {
super.onPostExecute(result);
dialog.setMessage(getString(R.string.finishing_up));
}
}
問題は、私はアプリをデバッグし、私はonPreExecuteが、私は入った瞬間にいるときに、リストは罰金だということですので、私のasynctaskに問題が私のrealmObjectsとあったことを見つけるために私に時間を要したonBackground私のリストは無効になっています。つまり、「Illegelの状態の例外または無効なオブジェクト」と呼ばれるすべてのインデックスにあります。 私はいくつかの検索を行い、スレッドがオブジェクトを削除または無効にする可能性があることを発見しました。だから私の質問は私がこれを解決する方法です。私の領域リストが無効にならないようにするにはどうすればよいですか?ありがとう