如何取消正在进行的领域事务

时间:2017-03-27 18:08:13

标签: android realm

我尝试cancel transaction Realm RealmRecyclerView Snackbarundo,{@ 1}}项目被删除后,会出现asynchronous transactions ,使track请求成为可能。当我发出多个删除请求时,会抛出异常。我正在阅读public void deleteItem(View view, int position) { if (getData() != null && getData().getPosition(position).isValid()) { MyObjectRealm item = getData().getPosition(position); realm.beginTransaction(); item.deleteFromRealm(); notifyItemRemoved(position); showSnackbar(view, position); } } private void showSnackbar(View view, int position) { Snackbar snackbar = Snackbar.make(view, context.getString(R.string.removed), Snackbar.LENGHT_SHORT); snackbar.setAction(context.getString(R.string.undo), new View.OnClickListener() { @Override public void onClick(View view) { if (realm.isInTransaction()) { realm.cancelTransaction(); notifyItemRangeChanged(position, getItemCount()); } } }); snackbar.addCallback(new Snackbar.Callback() { @Override public void onDismissed(Snackbar transientBottomBar, int event) { if(realm.isInTransaction()) { realm.commitTransaction(); } } }); snackbar.show(); } ,但我不知道如何03-27 17:28:14.345 17667-17667/com.example E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example, PID: 17667 java.lang.IllegalStateException: The Realm is already in a write transaction in /Users/cm/Realm/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_SharedRealm.cpp line 131 at io.realm.internal.SharedRealm.nativeBeginTransaction(Native Method) at io.realm.internal.SharedRealm.beginTransaction(SharedRealm.java:237) at io.realm.BaseRealm.beginTransaction(BaseRealm.java:309) at io.realm.Realm.beginTransaction(Realm.java:126) at com.example.adapter.MyAdapter.deleteItem(MyAdapter.java:90) at com.example.util.SwipeHelper.onSwiped(SwipeHelper.java:32) at android.support.v7.widget.helper.ItemTouchHelper$4.run(ItemTouchHelper.java:686) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 交易。

  `library(adehabitatHS)

Broods<-FinalVegBroods
Broods$Hen.ID <- factor(Broods$Hen.ID)

used <- subset(Broods, Broods$use == 1)
used <- used[c(0,-3:-47,-49:-58)]
used <- xtabs(~used$Hen.ID + used$Moisturenew, used)

used <- as.data.frame.matrix(used[1:19, 1:6])
rand <- subset(Broods, Broods$use == 0)
rand <- rand[c(0,-3:-47,-49:-58)]
rand <- xtabs(~rand$Hen.ID + rand$Moisturenew, used)
rand <- as.data.frame.matrix(rand[1:19, 1:6])

##### PVT Code for VegRSF #

pvt.W <- widesIII(used,rand,avknown = FALSE, alpha = 0.1)
pvt.W 
par(mfrow=c(1,2)) 
plot(pvt.W)`   

例外:

Khi2Lj df       pvalue
STGR201512         Inf  2 0.0000000000
STGR201513         Inf  0 0.0000000000
STGR201514   5.3096114  1 0.0212080867
STGR201515   0.0000000  0 1.0000000000
STGR201556   5.5451774  0 0.0000000000
STGR2016204        Inf  2 0.0000000000
STGR2016205  2.4327906  2 0.2962962963
STGR2016307  5.1325260  2 0.0768220955
STGR2016309  4.5596652  2 0.1023013283
STGR2016321  0.3047875  2 0.8586501034
STGR2016322 11.5419295  1 0.0006804398
STGR2016328  4.9671534  2 0.0834442357
STGR2016330  0.1734535  2 0.9169276250
STGR2016331  2.6234302  2 0.2693576848
STGR2016333        Inf  3 0.0000000000
STGR2016334 11.2346899  3 0.0105222081
STGR2016340  4.3812635  3 0.2231289938
STGR2016342        Inf  2 0.0000000000
STGR2016343  7.4623299  1 0.0063003410

0 个答案:

没有答案