Android 从手势文件中删除手势
我正在开发一个小的手势应用程序,它创建手势并将其保存到文件中,并且基于android示例中的gestureBuilder代码 我想删除文件中存储的所有手势,代码的移植如下Android 从手势文件中删除手势,android,Android,我正在开发一个小的手势应用程序,它创建手势并将其保存到文件中,并且基于android示例中的gestureBuilder代码 我想删除文件中存储的所有手势,代码的移植如下 private static GestureLibrary sStore; final GestureLibrary store = sStore; if (store.load()) { for (String name : stor
private static GestureLibrary sStore;
final GestureLibrary store = sStore;
if (store.load())
{
for (String name : store.getGestureEntries())
{
for (Gesture gesture : store.getGestures(name))
{
final NamedGesture namedGesture = new NamedGesture();
namedGesture.gesture = gesture;
namedGesture.name = name;
sStore.removeGesture(namedGesture.name, namedGesture.gesture);
sStore.save();
}
}
}
然而,在运行时会出现这样的异常
private static GestureLibrary sStore;
final GestureLibrary store = sStore;
if (store.load())
{
for (String name : store.getGestureEntries())
{
for (Gesture gesture : store.getGestures(name))
{
final NamedGesture namedGesture = new NamedGesture();
namedGesture.gesture = gesture;
namedGesture.name = name;
sStore.removeGesture(namedGesture.name, namedGesture.gesture);
sStore.save();
}
}
}
03-13 14:42:07.009:E/AndroidRuntime905:致命异常:主
03-13 14:42:07.009:E/AndroidRuntime905:java.util.ConcurrentModificationException
03-13 14:42:07.009:E/AndroidRuntime905:at java.util.HashMap$HashIterator.nexteryHashMap.java:796
03-13 14:42:07.009:E/AndroidRuntime905:at java.util.HashMap$KeyIterator.nextHashMap.java:823
03-13 14:42:07.009:E/AndroidRuntime905:com.likith.gesturebuilder.GestureBuilderActivity$2$1.onClickGestureBuilderActivity.java:127
03-13 14:42:07.009:E/AndroidRuntime905:com.android.internal.app.AlertController$ButtonHandler.HandleMessageAllertController.java:159
03-13 14:42:07.009:E/AndroidRuntime905:at android.os.Handler.dispatchMessageHandler.java:99
03-13 14:42:07.009:E/AndroidRuntime905:at android.os.Looper.Looper.java:123
03-13 14:42:07.009:E/AndroidRuntime905:at android.app.ActivityThread.mainActivityThread.java:3683
03-13 14:42:07.009:E/AndroidRuntime905:at java.lang.reflect.Method.invokenactive方法
03-13 14:42:07.009:E/AndroidRuntime905:at java.lang.reflect.Method.invokeMethod.java:507
03-13 14:42:07.009:E/AndroidRuntime905:com.android.internal.os.ZygoteInit$methodAndArgscaler.runZygoteInit.java:839
03-13 14:42:07.009:E/AndroidRuntime905:com.android.internal.os.ZygoteInit.mainZygoteInit.java:597
03-13 14:42:07.009:E/AndroidRuntime905:at dalvik.system.NativeStart.main本地方法
是否有任何方法可以从手势文件中删除所有手势
如果要删除gesturestore文件中的所有手势条目,请帮助…1:
if (store.load()) {
try {
List list = new ArrayList();
for (String name : store.getGestureEntries()) {
list.add(name);
}
for (int i = 0; i < list.size(); i++) {
store.removeEntry(list.get(i).toString());
store.save();
}
}catch (Exception e){
System.out.println(e.getMessage());
}
}
我希望它对您有效。我猜您可以尝试sStore.clear删除所有entries否不起作用。。。