私は私の. しかし、から追加/削除しようとすると、.database
Android Application
RealmChangeListener
Runnable
exception
java.lang.IllegalStateException: 非ルーパー スレッドからリスナーを削除/登録することはできません
Runnable を使用しなくても問題なく動作しています。以下は私のコードです:
public void clearDatabase(final RealmChangeListener realmChangeListener) {
Realm realm = RealmManager.getNewInstance().getRealm();
realm.addChangeListener(realmChangeListener);
realm.beginTransaction();
realm.clear(RBooking.class);
realm.commitTransaction();
}
作業コード:
protected void clearData() {
mDatabaseManager.clearDataBase(new RealmChangeListener() {
@Override
public void onChange() {
TLog.d("Feb 23 : Database has been clean completed!");
}
});
}
編集:動作しないコードを更新:
protected void processLogout() {
Runnable runnable = new Runnable() {
@Override
public void run() {
Looper.prepare();
mDatabaseManager.clearDataBase(new RealmChangeListener() {
@Override
public void onChange() {
TLog.d("Feb 23 : Database has been clean completed!");
}
});
Looper.loop();
}
};
doTask(runnable); // excute the runnable
}
したがって、RealmChangeListener が Runnable で正しく動作するようにするには、どのような団体でもサポートできます。ありがとうございました。